1

您如何子类化 CALayer 以便返回已设置样式属性的图层?

以便:

MyCustomLayer *layer = [MyCustomLayer layer];

将创建具有这些属性的层;

layer.backgroundColor = sweetBackgroundColor.CGColor;
layer.borderColor = sweetBorderColor.CGColor;

layer.borderWidth = 2.0;
layer.cornerRadius = 8.0;

这样我就可以设置它的框架并将其添加到树中。

但我想我的问题真的可能只是,你如何子类化一个对象,以便它具有在创建时已经设置的属性。可能的?

4

1 回答 1

2

只需在您的子类中覆盖 -init(CALayer 的指定初始化程序),并在您的覆盖中设置这些属性。任何创建方法,包括 -layer,最终都应该通过指定的初始化程序进行路由,这意味着即使对于方便的构造函数,您的额外设置也会发生。

于 2009-05-05T04:30:10.740 回答