【问题标题】:Cannot perform unwind segue on selecting search result - the navigation stack will not be updated无法在选择搜索结果时执行 unwind segue - 导航堆栈将不会更新
【发布时间】:2016-01-05 01:21:35
【问题描述】:

我有两个视图控制器,第一个(VC1)有一个按钮,当点击它时,它将导航到第二个视图控制器(VC2)。 VC2 是一个包含名称列表的表格视图,顶部有搜索栏用于搜索。如果我正常选择一个单元格,它将调用 unwind segue 以弹回 VC1。但是,如果我搜索一个名称,然后在搜索结果中选择一个单元格,它无法执行展开转场,它只会关闭搜索 UI 并导致如下错误:

popToViewController:transition: 在 UINavigationController 调用时 正在发生现有的过渡或演示;导航 堆栈不会更新。

我也尝试关闭 tableview 上的 VC2:didSelectCellAtIndex 但没有用。

任何帮助将不胜感激!!!

【问题讨论】:

    标签: ios uisearchcontroller


    【解决方案1】:

    尝试使用以下函数:

    [self.navigationController popViewControllerAnimated:YES];
    

    【讨论】:

    • 你应该在代码中删除你的pop函数,因为你是在storyboard里做的
    • 我将tableview单元格与storyboard中的unwind segue连接起来,所以代码中没有pop函数,但是它不能工作。
    • 你必须这样做----'popToViewController:transition:'。它警告你。搜索你的代码。
    • 它现在可以按照您的代码完美运行,我终于在情节提要中删除了我的展开序列,并在“tableview:didSelectCellAtIndex”中调用“popViewControllerAnimated:”。非常感谢 Lumialxk!
    • 您无需断开情节提要中的展开转场。将此 if 检查添加到“prepareForSegue:”中: if (self.searchController.isActive) { [self.navigationController popViewControllerAnimated:YES]; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    相关资源
    最近更新 更多