根据Apple UIView编程指南,您只能使用layerClass方法更改uiview的CA层,在视图初始化期间必须重写该方法才能返回不同的类,这是唯一可以这样做的方法:
与视图关联的层类型在视图创建后不能更改。因此,每个视图都使用layerClass类方法来指定其层对象的类。
然而,我已经看到了将视图的层直接分配给另一个创建层的应用教程,我总是认为这实际上是用另一个层类替换了该层,并且工作得很好。
这两种方法会产生相同的结果吗?使用第二种方法不好吗?
发布于 2012-05-02 06:55:53
layer属性UIView是只读的.你不能分配给它。我怀疑你是在看Mac教程,而不是iOS教程。在Mac上,您使用NSView,它具有读写layer属性。
发布于 2018-03-12 06:30:07
UIView类有一个var类型
class var layerClass: Swift.AnyClass { get }在视图中重写此var以更改iOS中的layer类:
class MyView: UIView {
override class var layerClass: Swift.AnyClass {
return CATiledLayer.self
}https://stackoverflow.com/questions/10408746
复制相似问题