我正在制作我的第一个通用应用程序,迄今为止这么好,但我在iPad上遇到了与UISplitViewController有关的问题。UISplitViewController iPad的行为
如何使UISplitViewController在iPhone上处于纵向模式时与iPhone相同?
喜欢在肖像模式下只显示主屏幕时,我点击它,它导航到详细信息屏幕,并在横向模式时显示他们两个旁边。
现在发生的情况是,它仅在肖像中显示细节屏幕,并在横向模式下显示它们。
为iPhone我用这个代码在主视图来解决这个问题
func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool {
return true
}
但这并没有与iPad合作,我发现这里的另一个代码,但没有工作过。
func splitViewController(svc: UISplitViewController, willHideViewController aViewController: UIViewController, withBarButtonItem barButtonItem: UIBarButtonItem, forPopoverController pc: UIPopoverController) {
self.navigationItem.leftBarButtonItem?.target?.performSelector((self.navigationItem.leftBarButtonItem?.action)!, withObject: self.navigationItem)
}
其他代码,也许你需要知道的,我说那些在viewDidLoad中的主视图控制器
self.splitViewController?.delegate = self
self.splitViewController?.preferredDisplayMode = UISplitViewControllerDisplayMode.PrimaryOverlay
self.splitViewController!.maximumPrimaryColumnWidth = splitViewController!.view.bounds.size.width;
self.splitViewController!.preferredPrimaryColumnWidthFraction = 0.3
所以请如果有人能帮助我找到这个问题的解决方案,我将非常感激
它正常工作时,我从景观上启动,然后切换到肖像但是当我直接以纵向方式启动iPad,我仍然一起看到主视图和详细视图控制器 – ahmedHegazi
您是否可以尝试在viewDidLoad()中调用performOverrideTraitCollection()以及? – Terry