我正在iOS 8中构建一个仅限iPad /仅景观的应用程序,并希望利用UISplitViewController中提供的新功能,因为我想创建一个可折叠的主控制器,当我需要全屏细节时它可能会消失图。
我正在使用包含我的splitVC的Container VC的基本故事板......
我正在使用此代码来实现该功能...
import UIKit
class ContainerViewController: UIViewController, UISplitViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let splitViewController = self.childViewControllers[0] as UISplitViewController
splitViewController.delegate = self
splitViewController.preferredDisplayMode = .AllVisible
let navViewController = splitViewController.childViewControllers.last as UINavigationController
navViewController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem();
}
func splitViewController(splitViewController: UISplitViewController!, collapseSecondaryViewController secondaryViewController:UIViewController!, ontoPrimaryViewController primaryViewController:UIViewController!) -> Bool {
return true;
}
}
注意我使用。 AllVisible 作为首选显示模式。这是有效的,但是当我显示主视图时,我的详细视图被推到右侧。
我真正想要做的是使用。 PrimaryOverlay 的首选显示模式,其中'应该'覆盖辅助节点上的主节点。确实如此,但是在控制器的初始显示中尺寸不正确并且放错位置。显示器第一次出现时,我得到了这个效果....
...并且在点击以隐藏/重新显示系统之后,系统似乎自行排序并且主要正确地覆盖在辅助系统上...
任何人都可以提供帮助,以便最初按预期工作吗?