2009-05-05 45 views
1

你如何繼承CALayer以便返回一個已經設置了樣式屬性的圖層?如何繼承CALayer以返回預先設計的圖層?

這樣:

MyCustomLayer *layer = [MyCustomLayer layer]; 

將創建具有這些性質的層;

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

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

這樣我就可以設置它的框架並將它添加到樹中。

但我想我的問題真的可以只是,你如何子類化一個對象,以便它具有創建時已設置的屬性。可能?

回答

2

只需在子類中覆蓋-init(CALayer的指定初始值設定項),然後在覆蓋中設置這些屬性。任何創建方法(包括-layer)都應該通過指定的初始化工具進行路由,這意味着即使對於便捷的構造函數,您的額外設置也會發生。