我很新,而且我正在创建一个基本的多视图应用程序,其中按钮可以打开新视图。
编辑:当我创建一个新的,更简单的应用程序时,我遇到了同样的问题,我认为这与删除子视图有关。我制作了另一个简单版本的应用,其中包含两个UIViewController
:MainViewController
和SecondViewController
。 MainView
有一个工具栏和一个红色背景,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;
}
答案 0 :(得分:-2)
在黑暗中拍摄,但也许:
[self configureView]