2017-06-09 22 views
-1

我试图创建渐变类泛型类,但我得到这个错误。 任何帮助将不胜感激解释。类型[NSNumber的]有没有标件

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

你错过了等号:

layer.colors = [FirstColor.cgColor, SecondColor.cgColor] 
layer.locations = [NSNumber(value: 0.5)] 
0

您需要将值分配给您的layer

layer.colors = [FirstColor.cgColor, SecondColor.cgColor] 
layer.locations = [NSNumber(value: 0.5)] 

你不容只是将它们作为立即you're努力。

0

的NSNumber具有可以接受双击的初始化器,但是你用方括号误代表试图访问一个标成员。

更改layer.locations[NSNumber[0.5]]layer.locations[NSNumber(value: 0.5)]

相关问题