ios - 如何在纵向方向上关闭 UISplitController 的模态呈现

标签 ios swift uisplitviewcontroller

我的项目在 swift 2 中,并且可以在两个方向上工作。

我有一个模态呈现的 UISplitViewController。

在主视图的导航栏中,我有一个用于关闭它的栏按钮。

当我在横向模式下打开 Controller 时,关闭按钮工作正常,因为主视图始终可见,并且他的父 View 和呈现 View Controller 都正常。

问题出在纵向,因为主视图并不总是可见,并且当我点击取消按钮时他的父级和呈现 Controller 为空。

有解决办法吗?

提前致谢

呈现 Controller

我从 Storyboard中呈现一个模态 splitViewController:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "splitSegue" {

    let split = segue.destinationViewController as! UISplitViewController
    let masterNav = split.viewControllers[0] as! UINavigationController
    let master = masterNav.topViewController as! MasterController
    master.delegate = self
}}

这是解雇的委托(delegate)乐趣:

func updateAppCategory(master: MasterController) {

    self.presentedViewController?.dismissViewControllerAnimated(true, completion: nil)
}

最佳答案

我遇到了同样的问题并找到了解决方案:

splitViewController!.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible

当你在 viewdidload 中插入它时,你可以在纵向和横向模式下关闭 splitviewcontroller

关于ios - 如何在纵向方向上关闭 UISplitController 的模态呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33866516/

相关文章:

ios - XCode 6.4 中的 iOS8 Storyboard 中缺少约束图标,适用于最初在 iOS 早期版本下编写的应用程序

ios - 在 UILongPressGestureRecognizer 事件时增加 UIImageView

macos - 大量混合数据用什么格式存储

ios - 在 Swift 框架中导入和使用 Google SignIn iOS SDK

ios - ViewController Hierarchy - 从堆栈中移除 UISplitviewController

ios - 提高更新核心数据中现有记录 (~11.000) 的速度

iphone - 访问关系的计数会引发错误吗?

objective-c - 为什么Objective-C类和协议(protocol)可以重名,而Swift不可以,语言实现有什么区别?

ios - 如何在 iPad 的 UiSplitviewcontroller 中显示主视图

ios - UISplitViewController 扩展给应用带来了麻烦