当前位置: 首页 > 面试题库 >

迅速无法使用“ CGPointMake”

勾裕
2023-03-14
问题内容

我有一个尝试转换为Swift 3的Gradient类,但是出现以下错误

迅速无法使用“ CGPointMake”

对于

func configureGradientView() {

    let color1 = topColor ?? self.tintColor as UIColor
    let color2 = bottomColor ?? UIColor.black as UIColor
    let colors: Array <AnyObject> = [ color1.cgColor, color2.cgColor ]
    let layer = self.layer as! CAGradientLayer

    layer.colors = colors
    layer.startPoint = CGPointMake(startX, startY)
    layer.endPoint = CGPointMake(endX, endY)
}

任何人都可以帮我解决我可以代替的东西 CGPointMake

这是全班;

@IBDesignable public class XGradientView: UIView {

@IBInspectable public var topColor: UIColor? {
    didSet {
        configureGradientView()
    }
}
@IBInspectable public var bottomColor: UIColor? {
    didSet {
        configureGradientView()
    }
}
@IBInspectable var startX: CGFloat = 0.0 {
    didSet{
        configureGradientView()
    }
}
@IBInspectable var startY: CGFloat = 1.0 {
    didSet{
        configureGradientView()
    }
}
@IBInspectable var endX: CGFloat = 0.0 {
    didSet{
        configureGradientView()
    }
}
@IBInspectable var endY: CGFloat = 0.0 {
    didSet{
        configureGradientView()
    }
}

public class func layeredClass() -> AnyClass {
    return CAGradientLayer.self
}

public required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)!
    configureGradientView()
}

override init(frame: CGRect) {
    super.init(frame: frame)
    configureGradientView()
}

public override func tintColorDidChange() {
    super.tintColorDidChange()
    configureGradientView()
}

func configureGradientView() {

    let color1 = topColor ?? self.tintColor as UIColor
    let color2 = bottomColor ?? UIColor.black as UIColor
    let colors: Array <AnyObject> = [ color1.cgColor, color2.cgColor ]
    let layer = self.layer as! CAGradientLayer

    layer.colors = colors
    layer.startPoint = CGPointMake(startX, startY)
    layer.endPoint = CGPointMake(endX, endY)
}
}

问题答案:

您可以迅速创建一个CGPoint快捷方式CGPoint(x: xPos, y:yPos)。因此,将您更改CGPointMake(startX,startY)CGPoint(x: startX, y: startY)



 类似资料:
  • 问题内容: 迅速,没有提供Prefix.pch文件。在我的项目中,我想全局声明一些宏并在整个应用程序中使用。 谁能给我建议怎么做,在哪里申报? 快速还有其他文件替换为Prefix.pch文件吗? 问题答案: 即使在Obj-C中,也不应该使用宏作为常量和表达式。以您的评论为例: 这将是作为一个分类方法更好,例如 的宏应该是一个普通的函数 或再次使用类别方法,例如 定义为 预先编译的标头绝不是要向所有

  • 问题内容: 我通常会隐藏状态栏 但是Xcode给我一个错误,说“方法不会覆盖 其超类中的任何内容”。 如果我删除override,则Xcode会给出另一个错误:“ 带有Objective-C选择器’prefersStatusBarHidden’的方法’prefersStatusBarHidden()’与 具有相同Objective-C选择器的 超类 ‘UIViewController’的gette

  • 我是Swift新手,这段代码给了我一个错误,尽管它没有文本,但它还是通过了“lastname!=nil”。 线程1:致命错误:在展开一个可选值时意外地找到nil 我很困惑,不知道为什么验证不起作用

  • 在WWW中我发现了一个面试问题,其中一个是: 下面代码段的输出是什么: 答案是: 我正在Xcode中运行这段代码,结果是: 请帮我了解一下是怎么一步一步进行的。我对正在发生的事情有想法,但不确定。什么是Kondana类,为什么使用上面的语法,我知道这是通用的,但不理解输出?

  • 问题内容: 迅速有没有通过声明?例如,如果我执行以下操作 案例“一”和案例“二”是否可以执行相同的代码? 问题答案: 是。您可以按照以下方式进行操作: 另外,您可以使用关键字:

  • 问题内容: 我正在尝试将时间格式化如下: 假设当前时间是2014年9月3日22:15:30 当我在操场上运行此脚本时,它将打印正确格式的时间:。 在AppDelegate上运行时,它不会打印格式化的时间: 我正在使用xcode 6 beta 5 …我缺少什么吗?为什么stringFromDate没有返回正确的格式化日期? 编辑 :我正在使用xcode 6 beta 6。 谢谢! 问题答案: 24小