我正在尝试展开 UIStoryboardSegue 子类。如果主窗口的 rootViewController 是 UIViewController 子类,那么一切正常。
但是,如果它是 UINavigationController 子类,我的 segue 永远不会在展开时触发。
我创建了一个示例应用程序来演示这一点,并将其放在 Github 上: https ://github.com/simonmaddox/CustomUnwindSegue
我正在尝试展开 UIStoryboardSegue 子类。如果主窗口的 rootViewController 是 UIViewController 子类,那么一切正常。
但是,如果它是 UINavigationController 子类,我的 segue 永远不会在展开时触发。
我创建了一个示例应用程序来演示这一点,并将其放在 Github 上: https ://github.com/simonmaddox/CustomUnwindSegue
在对此使用 DTS 请求后,Apple 提出以下建议:
简短的回答是,当 UINavigationController 存在时,SMXViewController 实际上并不是所呈现的 SMXSecondViewController 的父级。因此,它仅有限地参与了平仓过程。
...
解决此实现细节的一种方法是使用您自己的 UINavigationController 子类。然后,您可以覆盖 -segueForUnwindingToViewController:fromViewController:identifier: 以实现您自己的逻辑或将消息转发到 UINavigationController 父类(如果它是针对您不感兴趣的展开转场)。
完整的解决方案也存在于 DTS_Response 分支上: https ://github.com/simonmaddox/CustomUnwindSegue/tree/DTS_Response
这是为您解释的完整示例。