我使用 UISplitViewController 构建我的应用程序。主视图 Controller 和详细 View Controller 都是 UINavigationController,如图所示。
在master vc和detail vc的viewDidLoad()函数中,插入如下代码:
println(self.splitViewController!.viewControllers.count)
for vc in self.splitViewController!.viewControllers {
println(vc.hashValue)
}
结果是:
主控 vc.viewDidLoad()
2
140692681984032
140692680836304
detaiVC.viewDidLoad()
1
140692681984032
原来在detaiVC.viewDidLoad()中,detailVC已经不在splitViewController.viewControllers中了。为什么?
最佳答案
当以紧凑宽度运行您的应用程序时,splitviewcontroller 将被压缩。即 var viewControllers
属性只包含 1 个 View Controller 。
来自文档:
When the split view interface is expanded, this property contains two view controllers; when it is collapsed, this property contains only one view controller.
关于ios - 为什么 detailViewController 不再在 UISplitViewController.viewControllers 中了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30000947/