我想要爲UIView自定義初始值設定項的最佳方式,以便可以將值傳遞到初始值設定項,並立即將其作爲iVar存儲在UIView子類中,因爲需要此值爲drawRect
中的繪圖。爲UIView自定義initWithFrame
目前我使用的是默認initWithFrame
和創建此的UIView那麼類調用initWithFrame
後,將其伊娃的值,它實際上是在工作;不知怎的,drawRect
獲得這個iVar的價值,即使它被設置之後 UIView被初始化。
所以我需要以下兩種情況之一:
1)信譽知道這是好的:我可以依靠drawRect
某種程度上延緩了一下繪圖所以高德被另一個對象設置的UIView初始化後。在這種情況下,只需在UIView初始化的時候是否會調用drawRect
?
或者,
2)我需要初始化期間傳遞值:這是創建一個自定義的初始化是需要超過(CGRect)frame
作爲一個參數爲initWithFrame.
它可以像這樣簡單的最佳方式:
myNewView=[[MyCustomView alloc] initWithFrame:myRect andMore:myValue];
然後在MyCustomView.m:
- (id)initWithFrame:(CGRect)frame andMore:(int)someValue
{
self = [super initWithFrame:frame];
if (self) {
myIvar=someValue;
... //continue as normal
}
}
請問這代碼是一個很好的Appro公司ACH?然後,我會很舒服地知道,在調用drawRect
之前,這個值是存在的。
是的,你的第二種方法聽起來很合理。 – Ilanchezhian 2012-04-11 07:24:47