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