我在我的 Swift 项目中使用了这段代码。以下代码在 Swift 2 中运行良好,但似乎不再在 Swift 3 中运行,它给出了以下错误:
无法将类型“(CGFloat,CGFloat,Int,Int)”的值分配给类型“CGRect”
if plusLayer == nil {
plusLayer = CALayer()
let halfWidth: CGFloat = self.bounds.size.width / 2
let halfHeight: CGFloat = self.bounds.size.height / 2
let ds: CGFloat = sqrt(halfWidth * halfWidth / 2)
let x: CGFloat = halfWidth + ds - 27 / 2
let y: CGFloat = halfHeight - ds - 27 / 2
plusLayer.frame = (x, y, 27, 27)
plusLayer.contentsGravity = kCAGravityResizeAspectFill
if let i = plusSignImage {
plusLayer.contents = i.cgImage
} else {
plusSignImage = UIImage(named: "PlusSign", in: Bundle(for: self.dynamicType), compatibleWith: UITraitCollection(displayScale: UIScreen.main().scale))
plusLayer.contents = plusSignImage!.cgImage
}
layer.addSublayer(plusLayer)
}
任何人都知道我该如何解决这个问题?非常感谢您的帮助!
谢谢!:D