2016-09-05 22 views
19

मैं एक ढाल वर्ग जो मैं स्विफ्ट 3 कन्वर्ट करने के लिए कोशिश कर रहा हूँ है अनुपलब्ध है, लेकिन मैं निम्न त्रुटि'CGPointMake' में तेजी से

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

सबसे पहले गूगल ' 'CGPointMake' के लिए तेजी से 3' में उपलब्ध नहीं है ... –

+1

मारा' @MartinR आप उपयोग कर सकते CGPoint (एक्स: view.bounds.midX, वाई: view.bounds.midY) 'बजाय । – Linus

उत्तर

45

तेजी में आप Swifty रास्ता CGPoint(x: xPos, y:yPos) में एक CGPoint बना सकते हैं। तो CGPointMake(startX, startY) से CGPoint(x: startX, y: startY)

11

स्विफ्ट 3 नामित पैरामीटर्स के उपयोग में जोर देता है।

CGPoint इस तरह बनाया जा सकता है।

let point = CGPoint(x: 0,y :0) // CGFloat, Double, Int 
संबंधित मुद्दे