根据Apple UIView编程指南,您只能使用layerClass
方法更改uiview的CA层,您必须覆盖该方法以在视图的初始化期间返回不同的类,并且这是可以做到的唯一方法:
创建视图后,无法更改与视图关联的图层类型。因此,每个视图都使用layerClass类方法来指定其图层对象的类。
但是,我已经看过直接将视图分配给另一个创建图层的应用教程,我总是认为这实际上是用另一个图层替换图层并且工作正常。
这两种方法是否会产生相同的结果?使用第二种方法不好吗?
答案 0 :(得分:3)
layer
的{{1}}属性是只读的。你不能分配给它。我怀疑你正在看Mac OS X教程,而不是iOS教程。在Mac OS X上,您使用UIView
,它具有读写NSView
属性。
答案 1 :(得分:0)
UIView类的类型为var
class var layerClass: Swift.AnyClass { get }
在视图中覆盖此var以更改iOS中的图层类:
class MyView: UIView {
override class var layerClass: Swift.AnyClass {
return CATiledLayer.self
}