我正在与一个简单的iPad应用程序,我有一个简单的问题。我设置了一个自定义UIView;这里是我的initWithFrame:方法UIView背景颜色没有设置,直到设备旋转
- (id)initWithFrame:(CGRect)frame
{
if ((self = [super initWithFrame:frame]))
{
self.backgroundColor = [UIColor colorWithWhite:.4 alpha:1.0];
....
}
return self;
}
的问题是,应用程序启动时,在该视图中不应用背景颜色,即使在init的其余部分正在运行(控件添加等)。当我旋转设备时,会应用背景颜色,并且会在应用程序的整个生命周期中继续应用。我想我错过了布局命令的地方,但我不知道在哪里。有任何想法吗?
EDIT 2
这里给init查看通话。这些方法在我的ViewController中。
-(id)initWithFrame:(CGRect)_rect
{
rect = _rect;
if(self = [super init])
{
......
}
return self;
}
- (void)loadView
{
[super loadView];
myView = [[MyView alloc]
initWithFrame:rect];
self.view = myView;
}
你试过[自我setNeedsDisplay]; ? – 2010-09-09 16:38:39
我在initWithFrame方法的底部尝试了它,它没有做任何事情。还有别的地方吗? – 2010-09-10 23:28:17
如果您在此处添加了一些上下文,它可能会有所帮助。在你的代码中对'initWithFrame:'的调用发生在哪里? – jlehr 2010-09-11 16:54:40