我在文档中读到UIView的'layer'属性是只读的,你必须覆盖UIView的
+ (id)layer;
用于访问图层样式属性的类方法。
是否有任何覆盖此方法的示例,以返回已应用样式属性的图层/视图?
答案 0 :(得分:9)
如果您只想在分配给UIView的默认CALayer上设置backgroundColor,opacity等属性,您可以随时使用以下内容在UIView的图层上设置这些属性:
view.layer.opacity = 0.0f;
如果要返回自定义CALayer子类,则唯一需要覆盖 - (CALayer)图层方法的时间。我相信在iPhone上,Apple建议您改写类方法layerClass。这将返回初始化自定义视图时要创建的CALayer子类。例如,
+ (Class) layerClass
{
return [CAEAGLLayer class];
}
导致您的UIView子类使用OpenGL层作为其支持。