在PrimaryOverlay模式下的iOS8 UISplitViewController,而不是AllVisible

时间:2015-03-19 16:29:19

标签: ios iphone ipad ios8 uisplitviewcontroller

我正在iOS 8中构建一个仅限iPad /仅景观的应用程序,并希望利用UISplitViewController中提供的新功能,因为我想创建一个可折叠的主控制器,当我需要全屏细节时它可能会消失图。

我正在使用包含我的splitVC的Container VC的基本故事板......

enter image description here

我正在使用此代码来实现该功能...

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 的首选显示模式,其中'应该'覆盖辅助节点上的主节点。确实如此,但是在控制器的初始显示中尺寸不正确并且放错位置。显示器第一次出现时,我得到了这个效果....

enter image description here

...并且在点击以隐藏/重新显示系统之后,系统似乎自行排序并且主要正确地覆盖在辅助系统上...

enter image description here

任何人都可以提供帮助,以便最初按预期工作吗?

0 个答案:

没有答案