iPhone视图不可见
我的loadView方法中有以下代码,无法理解为什么不能同时看到两个不同颜色的块。我认为第二个“self.view=”与第二个视图重叠,因此我只能看到绿色视图。然而,即使我将视图alpha设置为0.5,我仍然看不到蓝色块,绿色块只是变得更透明 我是不是错过了一些很愚蠢的事情iPhone视图不可见,iphone,Iphone,我的loadView方法中有以下代码,无法理解为什么不能同时看到两个不同颜色的块。我认为第二个“self.view=”与第二个视图重叠,因此我只能看到绿色视图。然而,即使我将视图alpha设置为0.5,我仍然看不到蓝色块,绿色块只是变得更透明 我是不是错过了一些很愚蠢的事情 - (void)loadView { CGRect newFrame; newFrame.origin = CGPointMake(100, 100); newFrame.size = CGSizeMake(100, 40)
- (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一次只能保存一个视图,因此在代码中: self.view=myView 然后 self.view=myView2
您基本上是将分配给self.view的“myView”替换为新的“myView2”,因此您将看不到第一个,而只看到第二个。您将
self.view
设置为myView
,然后几行之后将其重置为myView2
。第二个赋值替换了第一个赋值,就像您分配了一个整数变量i=42
,然后又分配了i=100
查看UIView的
addSubview:
方法。您只是在后续调用中使用self.view替换视图。您只能看到第二个视图,因为它是最后一个指定给当前视图的视图
尝试使用
addSubview:
谢谢。我尝试在第一个self.view=myView之后设置断点;但是屏幕上什么也没有出现。我本来希望看到蓝色的框,但当我通过休息时,看到视图变为绿色,但由于我无法使其工作,我不确定发生了什么。通常,一旦程序返回到主循环(位于框架内),显示就会更新。否则,每一个改变显示的操作都会执行昂贵的重画,即使下一行需要再次重画。这是有道理的。谢谢我可以使用addSubview:现在它可以正常工作了。[[self view]addSubview:myView2];