我想在窗口上放置两个UIViewControllers(如下所示)。是否可以将其设置为每个视图分别由其自己的控制器控制?
在app委托中,我按以下方式添加子视图
TabBarViewController *tabBarVC = [[TabBarViewController alloc] init];
CGRect frame = tabBarVC.view.frame;
frame.origin.y = self.window.bounds.size.height - frame.size.height;
tabBarVC.view.frame = frame;
[self.window insertSubview:tabBarVC.view aboveSubview:tabVC.view];
它加载,但当我点击按钮(IBAction),或做任何需要控制器的事情时,应用程序崩溃。我做错了什么?
谢谢!
答案 0 :(得分:1)
为tabBarVC创建iVar或属性的强引用,并更改此行:
TabBarViewController *tabBarVC = [[TabBarViewController alloc] init];
要:
tabBarVC = [[TabBarViewController alloc] init];
或者
self.tabBarVC = [[TabBarViewController alloc] init];
答案 1 :(得分:1)
是的,你可以..!将要显示的控制器显示为要显示的视图控制器的iVars。然后只需使用
[MainController addSubview:desiredConroller1.view];
[MainController addSubview:desiredConroller2.view];
您可以使用
从故事板加载控制器 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"storyboard_name" bundle:nil];
desiredController1 = [membershipStoryboard instantiateInitialViewController];
您也可以使用instantiateViewControllerWithIdentifier: