我想要为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