我在我的loadView方法中有以下代碼,無法理解爲什麼我看不到兩個不同的彩色塊。我認爲第二個'self.view ='與第二個視圖重疊,所以我只能看到綠色的視圖。但是,即使我將視圖alpha設置爲0.5,我仍然看不到藍色塊,但綠色塊變得更加透明。iPhone視圖不可見
我在這裏錯過了一些非常愚蠢的東西嗎?
- (void)loadView {
CGRect newFrame;
newFrame.origin = CGPointMake(100, 100);
newFrame.size = CGSizeMake(100, 40);
UIView *myView = [[UIView alloc] initWithFrame:newFrame];
myView.backgroundColor = [UIColor blueColor];
//myView.alpha = 0.5;
self.view = myView;
CGRect newFrame2;
newFrame2.origin = CGPointMake(100, 200);
newFrame2.size = CGSizeMake(100, 40);
UIView *myView2 = [[UIView alloc] initWithFrame:newFrame2];
myView2.backgroundColor = [UIColor greenColor];
//myView2.alpha = 0.5;
self.view = myView2;
}
謝謝。我嘗試在第一個self.view = myView之後設置一個斷點。但沒有出現在屏幕上。我期待看到藍色方框,然後一旦我經過休息時間,將視圖更改爲綠色,但由於無法使用該功能,我不確定發生了什麼。 – Mike 2011-03-13 13:19:41
一旦程序返回主循環(位於框架內),通常會更新顯示。否則,每次改變顯示器的操作都會執行昂貴的重繪操作,即使下一行需要重繪時也是如此。 – Anomie 2011-03-13 14:30:44
有道理。謝謝!我能夠使用addSubview:它現在可以正常工作。 [[self view] addSubview:myView2]; – Mike 2011-03-14 01:45:44