我正在尝试为Gradient类创建一个泛型类,但我收到此错误。 任何帮助将得到解释。
import UIKit
@IBDesignable
class GradientView: UIView {
@IBInspectable var FirstColor: UIColor = UIColor.clear{
didSet{
updateView()
}
}
@IBInspectable var SecondColor: UIColor = UIColor.clear{
didSet{
updateView()
}
}
override class var layerClass: AnyClass{
get{
return CAGradientLayer.self
}
}
func updateView(){
var layer = self.layer as! CAGradientLayer
layer.colors[FirstColor.cgColor, SecondColor.cgColor]
layer.locations[NSNumber[0.5]]
}
}
我在这两行中得到错误 -
layer.colors[FirstColor.cgColor, SecondColor.cgColor]
layer.locations[NSNumber[0.5]]
答案 0 :(得分:0)
你错过了等号:
layer.colors = [FirstColor.cgColor, SecondColor.cgColor]
layer.locations = [NSNumber(value: 0.5)]
答案 1 :(得分:0)
NSNumber有一个接受Double的初始化程序,但是您错误地使用了方括号,表示尝试访问下标成员。
将C:\ProgramData
更改为layer.locations[NSNumber[0.5]]