ios - 为什么 detailViewController 不再在 UISplitViewController.viewControllers 中了?

标签 ios swift uinavigationcontroller uisplitviewcontroller

我使用 UISplitViewController 构建我的应用程序。主视图 Controller 和详细 View Controller 都是 UINavigationController,如图所示。 Storyboard

在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.

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISplitViewController_class/#//apple_ref/occ/instp/UISplitViewController/viewControllers

关于ios - 为什么 detailViewController 不再在 UISplitViewController.viewControllers 中了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30000947/

相关文章:

iphone - 如何加快从 Web 服务加载图像的速度?

swift - 在 map 上获取下一个值?

ios - ibeacons 和地理围栏结合 swift

ios - 以编程方式设置导航栏按钮

ios - 通过编程方式制作的 UINavigationController 不显示导航栏

ios - 查找正在拖动的 ImageView

ios - OpenAL 随机停止播放某些声音,只能通过重启来修复

ios - NSOutputStream 阻塞,没有触发 HasBytesAvailable 事件

ios - 返回 UINavigationController 时如何隐藏 UITabBar

ios - UIViewController 中的 UINavigationController 以编程方式在类中