unwind UINavigationController中的UIStoryboardSegue子类



我想unwind一个UIStoryboardSegue子类。如果主窗口的rootViewController是一个UIViewController子类,一切都很好。

然而,如果它是UINavigationController的子类我的segue永远不会在unwind时触发

我已经创建了一个示例应用程序来演示这一点,并把它放在Github上:https://github.com/simonmaddox/CustomUnwindSegue

在使用DTS请求后,Apple建议如下:

简短的回答是,当UINavigationController存在时,SMXViewController实际上并不是所呈现的SMXSecondViewController的父控件。因此,它只能有限地参与unwind过程。

…绕过这个实现细节的一个方法是使用你自己的UINavigationController子类。然后你可以重写-segueForUnwindingToViewController:fromViewController:identifier:来实现你自己的逻辑,或者如果你对unwind segue不感兴趣,可以将消息转发给UINavigationController父类。

完整的解决方案也存在于DTS_Response分支:https://github.com/simonmaddox/CustomUnwindSegue/tree/DTS_Response

下面是完整的示例,并附有说明。

最新更新