我正在與一個簡單的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