iPhone视图不可见

时间:2011-03-13 04:56:54

标签: iphone

我的loadView方法中有以下代码,无法理解为什么我看不到两个不同颜色的块。我认为第二个'self.view ='与第二个视图重叠,所以我只能看到绿色视图。然而,即使我将视图alpha设置为0.5,我仍然看不到蓝色块,绿色块变得更透明。

我在这里错过了一些非常愚蠢的东西吗?

- (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;

}

3 个答案:

答案 0 :(得分:1)

您将self.view设置为myView,然后只需几行就可以将其重置为myView2。第二个赋值取代了第一个赋值,就好像你已经分配了一个整数变量i = 42然后i = 100

查看UIView的addSubview:方法。

答案 1 :(得分:0)

self.view一次只能包含一个视图,因此在您的代码中:

  

self.view = myView;

然后

  

self.view = myView2;

你基本上用新的“myView2”替换了分配给self.view的“myView”,所以你不会看到第一个,只有第二个。

答案 2 :(得分:0)

您只是在后续调用中使用self.view替换视图。您只会看到第二个视图,因为它是您分配给当前视图的最后一个视图。

尝试使用addSubview: