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


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

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

谢谢!

最佳答案

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

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


至:

tabBarVC = [[TabBarViewController alloc] init];


要么

self.tabBarVC = [[TabBarViewController alloc] init];

关于iphone - 屏幕上有多个ViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12722098/

10-09 01:02