我还很新,我正在制作一个基本的多视图应用程序,其中的按钮可以打开新视图。

编辑:当我制作一个新的,更简单的应用程序时,我遇到了同样的问题,我认为这与删除子视图有关。我使用另一个UIViewController制作了该应用程序的另一个简单版本:MainViewControllerSecondViewControllerMainView具有工具栏和红色背景,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;
}

最佳答案

在黑暗中拍摄,但也许:

[自配置]

关于iphone - 清除 subview 时 View 困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6837619/

10-10 20:52