'CGPointMake' 在 swift 中不可用 [英] 'CGPointMake' is unavailable in swift
本文介绍了'CGPointMake' 在 swift 中不可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 Gradient 类,我正在尝试将其转换为 Swift 3,但出现以下错误
I have a Gradient class which I am trying to convert to Swift 3 but I get the following error
'CGPointMake' 在 swift 中不可用
'CGPointMake' is unavailable in swift
为了
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
Can anyone help me out with what I can use instead of 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)
}
}
推荐答案
在swift中你可以用swifty的方式创建一个CGPoint
CGPoint(x: xPos, y:yPos)
.因此,将您的 CGPointMake(startX, startY)
更改为 CGPoint(x: startX, y: startY)
In swift you can create a CGPoint
in swifty way CGPoint(x: xPos, y:yPos)
.
So change your CGPointMake(startX, startY)
to CGPoint(x: startX, y: startY)
这篇关于'CGPointMake' 在 swift 中不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文