ios导航堆栈中的两个转换/演示文稿

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios导航堆栈中的两个转换/演示文稿相关的知识,希望对你有一定的参考价值。

我有一个UITableViewController,其中包括UISearchController。然后,这将切换到UIViewController,然后是另一个UIViewController。从第二个视图开始,我想通过首先隐藏UISearchController然后弹出两个视图来转换回UITableViewController

为了实现这一点,我有:

 var stackViews = self.navigationController?.viewControllers.count
 var musicTableController = self.navigationController?.viewControllers[stackViews!-3] as! MusicTableController
 musicTableController.resultSearchController.active = false
 self.navigationController?.popToViewController(musicTableController, animated: true)

然而,这会导致错误

popToViewController:transition: called on <UINavigationController 0x7fb42a575550> while an existing transition or presentation is occurring; the navigation stack will not be updated.

我猜我需要在resultsSearchController转换完成之后弹出视图。

Swift,ios8,xcode6.4

答案

您可以在dismiss(_:_:)上调用UISearchController,而不是将isActive设置为false。

if searchController.isActive {
    self.searchController.dismiss(animated: true, completion: {
        // Play segue, dismiss or pop ...
    })
} else {
   // Play segue, dismiss or pop ...
}

以上是关于ios导航堆栈中的两个转换/演示文稿的主要内容,如果未能解决你的问题,请参考以下文章

表单演示文稿上的 UISearchController

推送视图:在发生现有转换或演示时;导航堆栈不会更新

导航到Android中的另一个片段后如何清除导航堆栈

word文档快速转换为PPT演示文稿

后堆栈在 Jetpack Navigation 中无法正常工作

pdf如何转换成ppt演示文稿进行放映