UISplitViewController:折叠模式下的Deinit DetailView

时间:2015-10-20 14:00:05

标签: ios uisplitviewcontroller dealloc deinit

我现在已经在这方面苦苦挣扎了一段时间,但我无法找到解决方案:

我有一个支持所有设备系列的iOS 9应用程序,使用大小类并使用Swift 2.0进行编程。 我使用的是UISplitViewController,除了折叠环境(例如在iPhone上)外,一切都可以正常使用。

Master-ViewController是UITableViewController,在选择单元格时触发替换segue。在折叠环境中,这意味着detailViewcontroller被推送到屏幕上。 UISplitViewController在视觉上表现得像UINavigationController。 但是,当我使用后退按钮或滑动手势解除detailViewController时,在Master-ViewController中触发新的替换segue之前,它不会被解除分配。

我认为这是UISplitViewController的一种功能,因为它最初设计用于显示彼此相邻的内容。然而,在崩溃的环境中,我希望我的UISplitViewController表现得像一个简单的UINavigationController,它在弹出时释放先前推送的detailviewController。

我在弹出detailViewController后尝试手动更改splitViewController的viewControllers属性:

 if let firstVc = self.splitViewController?.viewControllers.first {
        self.splitViewController?.viewControllers = [firstVc]
 }

但这没有用。简单地用一个空的" Dummy" -ViewController替换detailViewController既不起作用,因为它会自动动画转换。 玩UISplitViewControllerDelegate并没有帮助我......

有没有解决方案(也许简单?:)),我太盲目了?

0 个答案:

没有答案