无法分配给属性:'CALayer'是不可变的

时间:2016-01-08 16:30:02

标签: ios calayer affinetransform

我正在尝试使用以下代码将仿射转换应用于CALayer

var myLayer:CALayer!
myLayer.affineTransform = CGAffineTransformMakeRotation(0)

但我遇到了错误

  

无法分配给属性:'myLayer'是不可变的。

有什么必要解决这个问题?

2 个答案:

答案 0 :(得分:7)

如果您想设置CALayer的AffineTransform使用 myLayer.setAffineTransform(CGAffineTransformMakeRotation(0))

你不能这样做:myLayer.affineTransform = CGAffineTransformMakeRotation(0)因为affineTransform()是方法,而不是属性

有关详细信息,请参阅:CALayer

答案 1 :(得分:1)

你不会说自己是什么,但是UIView有一个图层属性,如果你想抓住它你可以使用view.layer,或者设置一个常量(即" let layer = view .layer&#34)。您的错误很可能与尝试将不可变图层属性强制转换为var。

有关