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

cannot assign to property: 'CALayer' is immutable

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

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

但是遇到错误

cannot assign to property: 'myLayer' is immutable.

需要什么来解决这个问题?

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

有关

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

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

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