我在我的应用程序中实现了 UISplitViewController
的子类:iPhone
和 iPad
。当我将设备从 Landscape
旋转到 Portrait
方向时,将调用标题中提到的方法。除非我在 iPhone 6 Plus 上运行该应用程序,否则它会非常好用。为什么这里没有调用这个方法?
如何使此方法起作用?
当我在 iPhone 6 Plus
上启动应用程序时,两个方向上的一切都很好。但问题是当我将 iPhone 6 Plus
从 Landscape
旋转到 Portrait
时。我的导航 Controller 无法正常工作。
这就是我的意思:
iPhone 5s 人像
选择位置时的 iPhone 5s 人像
具有选定位置的 iPhone 5s 风景
当我从横向旋转到纵向时的 iPhone 5s
iPhone 6 Plus 人像
选择位置时的 iPhone 6 Plus 人像
具有选定位置的 iPhone 6 Plus 风景
iPhone 6 Plus 当我从横向旋转到纵向时 这是一个问题
因为我的方法 splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
没有被调用. UINavigationController
当时不工作。当我选择位置时,没有任何反应。
class PBOSplitViewController: UISplitViewController, UISplitViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
delegate = self
}
func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController!, ontoPrimaryViewController primaryViewController: UIViewController!) -> Bool {
return false
}
}
我在 Storyboard 中设置了我的 SplitViewController。
最佳答案
iPhone 6+ 屏幕更大,在某些方面被视为 iPad。 iPhone 6+ 上的 Split View Controller 将尝试像在 iPad 上一样同时显示主 Pane 和详细信息 Pane ,除非应用程序处于“缩放显示模式”。
NSHipster 有一篇文章对此进行了更详细的解释:http://nshipster.com/uisplitviewcontroller/
关于ios - 为什么splitViewController :collapseSecondaryViewController:ontoPrimaryViewController: is not called on iPhone 6 Plus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767614/