2017-06-09 28 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)]

相關問題