2016-09-05 11 views
19

で使用できません「CGPointMakeは、」私は、私はスウィフト3に変換しようとしているグラデーションクラスを持っていますが、私は次のエラー</p> <blockquote> <p>「CGPointMake」のための迅速</p> </blockquote> <p>では使用できません取得迅速

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) 
} 
} 
+2

まず、Googleはあなたが 'するCGPoint(X view.bounds.midY:view.bounds.midX、y)を使用することができます@MartinR ...' 'CGPointMakeは' 迅速3'で使用できないため –

+1

を打つ代わりに ' 。 – Linus

答えて

45

迅速で、あなたはswifty方法CGPoint(x: xPos, y:yPos)CGPointを作成することができます。 をCGPoint(x: startX, y: startY)

11

スイフト3は、名前付きパラメータの使用を強調します。

CGPointこのように作成できます。

let point = CGPoint(x: 0,y :0) // CGFloat, Double, Int 
関連する問題

 関連する問題