Ios 为什么iPhone 6 Plus上不调用splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:?
我在我的应用程序中为Ios 为什么iPhone 6 Plus上不调用splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:?,ios,uisplitviewcontroller,iphone-6-plus,Ios,Uisplitviewcontroller,Iphone 6 Plus,我在我的应用程序中为iPhone和iPad实现了UISplitViewController的子类。当我将设备从横向旋转到纵向方向时,会调用标题中提到的方法。除非我在iphone6plus上运行这个应用程序,否则它的效果非常好。为什么不在那里调用此方法 如何使此方法起作用 当我在iphone6plus上启动应用程序时,在两个方向上都很好。但问题是当我将iphone6plus从横向旋转到纵向时。我的导航控制器不能正常工作 这就是我的意思: iPhone 5s人像 当我选择位置时iPhone 5s的
iPhone
和iPad
实现了UISplitViewController
的子类。当我将设备从横向
旋转到纵向
方向时,会调用标题中提到的方法。除非我在iphone6plus上运行这个应用程序,否则它的效果非常好。为什么不在那里调用此方法
如何使此方法起作用
当我在iphone6plus上启动应用程序时,在两个方向上都很好。但问题是当我将iphone6plus从横向
旋转到纵向
时。我的导航控制器不能正常工作
这就是我的意思:
iPhone 5s人像
当我选择位置时iPhone 5s的肖像
iPhone 5s的选定位置
当我从横向旋转到纵向时,iPhone 5s
iphone6plus人像
当我选择位置时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
}
}
我在故事板中设置了SplitViewController。iPhone 6+屏幕更大,在某些方面被视为iPad。iPhone 6+上的拆分视图控制器将尝试以类似于iPad的方式显示主窗格和详细窗格,除非应用程序处于“缩放显示模式”
Nhipster有一篇文章更详细地解释了这一点:我仍然不知道如何解决这个问题。有可能在iPhone 6 Plus上保持相同的行为吗?@Bartłomiejsemanńczyk尝试使用UISplitViewControllers
preferredDisplayMode
强制您想要的布局,我也这样做了,但它仍然不能正常工作。我认为这是您所说的“缩放显示模式”的问题,但在模拟器中没有这样的选项。@Bartłomiejsemanńczyk从您更新的答案和您的评论来看,不清楚什么不起作用,什么是预期的。请尽量具体一点。我用截图更新了答案。你能看看吗?谢谢。我试图强制splitViewController调用此方法,但没有帮助