0

我想在一个窗口上放置两个 UIViewController(如下所示)。是否可以将每个视图设置为分别由其自己的控制器控制? 在此处输入图像描述

在应用程序委托中,我通过以下方式添加子视图

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) 或执行任何需要控制器的操作时,应用程序会崩溃。我究竟做错了什么?

谢谢!

4

2 回答 2

1

是的你可以..!将要显示的控制器作为要显示的视图控制器的 iVar。然后使用,

[MainController addSubview:desiredConroller1.view];
[MainController addSubview:desiredConroller2.view];

您可以使用从情节提要加载控制器,

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"storyboard_name" bundle:nil];
   desiredController1 =  [membershipStoryboard instantiateInitialViewController];

你也可以使用instantiateViewControllerWithIdentifier:

于 2012-10-04T08:50:39.537 回答
1

为 tabBarVC 的 iVar 或属性创建强引用并更改此行:

TabBarViewController *tabBarVC = [[TabBarViewController alloc] init];

至:

tabBarVC = [[TabBarViewController alloc] init];

或者

self.tabBarVC = [[TabBarViewController alloc] init];
于 2012-10-04T07:34:06.747 回答