新视图不可见

时间:2011-06-29 12:17:44

标签: iphone objective-c

我刚刚使用CGRectMake创建了一个视图,但视图不可见。这是我的代码,直到现在:

mainView = [[UIView alloc] initWithFrame:CGRectMake(0,20,320,460)];
    mainView.userInteractionEnabled = YES;
    mainView.backgroundColor = [UIColor whiteColor];
    mainView.alpha = 1.0;
    [mainView setHidden:NO];

我需要添加另一个属性才能使其可见/有效吗?

3 个答案:

答案 0 :(得分:4)

您忘记在主视图上添加视图。如下所示。

[self.view addSubview:mainView];

所以只需用下面的代码替换整个代码即可。

mainView = [[UIView alloc] initWithFrame:CGRectMake(0,20,320,460)];
mainView.userInteractionEnabled = YES;
mainView.backgroundColor = [UIColor whiteColor];
mainView.alpha = 1.0;
[mainView setHidden:NO];
[self.view addSubview:mainView];

答案 1 :(得分:1)

您必须将新视图添加到现有视图。你可以使用(例如):

[[[UIApplication sharedApplication] keyWindow] addSubview:myNewView];

如果您使用UIViewController,则为:

[[myViewController view] addSubview:myNewView];

答案 2 :(得分:1)

您需要在UIViewController或UIApplication keyWindow中将其添加为子视图。

此外,您必须确保其框架位置在parentView应用程序范围内 IF 父视图将clipToBounds属性设置为YES