我有幾個UITextView
s在幾個ViewController
s。在過去,當我有幾個需要自定義繪圖的實例時,我需要在擁有UI對象的VC內部調整viewWillAppear
中的繪圖。這一次,我將需要定製幾個實例。什麼是更有效率,重寫drawRect或使用viewWillAppear
只需創建一個子類別UITextView
並在drawRect
中包含繪圖代碼,而不是將相同的繪圖代碼分佈在幾個VC的範圍內,這樣更合適。我主要擔心表演。代碼可維護性雖然是次要的問題。
需要明確的是,這是我會在drawRect中使用:
- (void)drawRect:(CGRect)rect {
self.layer.cornerRadius = 10;
self.clipsToBounds = YES;
}
所以進一步檢查之後,initWithFrame
不會被調用,但initWithCoder
一樣。我也發現initWithCoder
被調用一次,所以drawRect
。在我的使用情況下(在小區的UITextView
一個StaticCellTableView
,將區別是什麼呢?
我試圖把繪圖代碼放在' - (id)initWithFrame:(CGRect)frame'中,但是沒有被調用。我也嘗試覆蓋'init',但那也沒有被調用。 – 2013-04-23 14:22:17
你如何加載UIView?的.xib /故事板?如果是這樣 - > initWithCoder – 2013-04-23 14:29:27
我使用Storyboard加載它。我發現initWithCoder可以工作,但是通過測試,調用的次數與drawRect的調用次數相同。那麼使用兩者之間會有什麼區別呢? – 2013-04-23 14:31:14