清除子视图时视图搞乱了

时间:2011-07-26 22:59:50

标签: iphone ios ipad uiviewcontroller

我很新,而且我正在创建一个基本的多视图应用程序,其中按钮可以打开新视图。

编辑:当我创建一个新的,更简单的应用程序时,我遇到了同样的问题,我认为这与删除子视图有关。我制作了另一个简单版本的应用,其中包含两个UIViewControllerMainViewControllerSecondViewControllerMainView有一个工具栏和一个红色背景,SecondView有浅蓝色背景。工具栏上的按钮会删除包含以下代码的所有子视图(我认为这是问题),然后将SecondView添加为子视图。

for(UIView *view in self.view.subviews){
    [view removeFromSuperview];
}

当这种情况发生时,会发生类似的混合问题(见下文)。如果没有此代码,则会正确显示子视图。发生了什么,有没有办法让我删除所有子视图而不触发它?我的目标是有几个按钮,每个按钮打开一个新视图(并关闭所有其他视图)。

原帖:

从应用委托中,我有UIViewController appViewController根,附加到appView笔尖。此视图只是黄色背景,不打算显示。在appViewController内,我在加载时添加RootViewController子视图,该子视图控制带有红色背景和多个编号按钮的UIView。这两个视图都写有-(BOOL) shouldAutorotateToInterfaceOrientation,只接受横向方向。

然而,当我运行应用程序时,不是看到带有按钮的RootView的红色背景,而是屏幕的上半部分是红色,而下半部分是带按钮的黄色,就好像两个UIViews是不知为何变得混杂。此外,按钮不起作用,甚至不显示按下蓝色按钮的图形效果。发生了什么事?

编辑:根据要求:RootViewController的源代码以下内容位于appViewController

- (void)viewDidLoad {
    rootViewController = [[RootViewController alloc] initWithNibName:@"RootView" bundle:nil];
    [self.view addSubview:rootViewController.view];
    self.rootViewController.appViewController = self;
}

1 个答案:

答案 0 :(得分:-2)

在黑暗中拍摄,但也许:

[self configureView]