【发布时间】:2017-03-13 05:12:57
【问题描述】:
在我的应用程序中,我在标签栏控制器中有一个拆分视图控制器,主视图控制器嵌入在导航控制器中。最初,详细视图控制器只是一个空白视图控制器。现在从 1 列分离到 2 列后,位于主要位置的视图控制器奇怪地不再延伸到顶部和底部栏下方。这些栏是半透明的,因此您应该能够在导航栏和标签栏中看到红色。我已经将问题缩小到splitViewController(_:separateSecondaryFrom:),我用它来将细节嵌入到导航控制器中。不过,我不明白为什么这会导致主节点出现这种行为。我对这个方法的实现有什么问题?
func splitViewController(_ splitViewController: UISplitViewController, separateSecondaryFrom primaryViewController: UIViewController) -> UIViewController? {
//in the case where it's separating into two, we want to embed the detail in a navigation controller
let primaryNavController = primaryViewController as! UINavigationController
let detailController: UIViewController
if primaryNavController.viewControllers.count > 1 {
detailController = primaryNavController.viewControllers[1]
} else {
detailController = ViewController()
}
return UINavigationController(rootViewController: detailController)
}
【问题讨论】: