【问题标题】:Unwind segues not working with modal view controllersUnwind segues 不适用于模态视图控制器
【发布时间】:2014-04-08 11:41:08
【问题描述】:

我正在开发一个基于故事板的 iPhone 应用程序。 我成功地使用 unwind segues 来导航我的视图控制器堆栈。

但是,当我展示一个模态视图控制器时,我似乎无法触发我在情节提要文件中指定的展开转场。

这是正常现象还是错误?

【问题讨论】:

  • 这可能是正常行为。如果可能,请详细说明更多细节和故事板屏幕截图。
  • 对于模态视图使用dismissviewcontrolleranimated
  • 我使用“dismissviewcontrolleranimated”没有问题。但是,我试图确定为什么 unwind 功能在这种情况下不起作用。我在 Apple 的文档中找不到任何相关内容。
  • 我在模态视图中使用展开转场没有问题。你到底有什么问题?

标签: ios objective-c segue uistoryboardsegue presentmodalviewcontroller


【解决方案1】:

问题解决了。

显然我在故事板编辑器上遇到了一些问题。 我所做的是删除目标(模态)视图控制器,然后重新创建它。

现在工作正常。 已提交错误报告。

【讨论】:

    【解决方案2】:

    所以我有同样的问题(两年多后!)。我还没有解决根本问题,但我发现以默认演示样式呈现的模态视图可以展开,但使用页面表演示样式的模式视图根本不起作用。 unwindToViewX 方法在展开转场移动到的父视图控制器上被调用,所以我用下面的代码绕过了这个问题:

    if (self.presentedViewController) {
        [self dismissViewControllerAnimated:YES completion:NULL];
    }
    

    这使我无需设置委托系统,因为展开操作正在完成所有繁重的工作,但也避免了可能有一天展开操作可能会起作用的问题,因为在这种情况下self.presentedViewController 应该返回NO因为 unwind 操作正常工作,我们最终不会意外关闭两个视图控制器。

    我希望这对同一条船上的其他人有所帮助,但我也想听听其他人是否有更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 2015-02-13
      相关资源
      最近更新 更多