Ios8 unind segue does not work with UINavigationBarController and UITabBarController (fixed in iOS 8.1)

I just started testing the iOS7 application on iOS8 with Xcode 6 (beta 6). I know that iOS 8 did not approve of β€œpush” and β€œmodal” segue, but I was glad to find that all my segue worked ... except for one.

I created a demo application to show that unwinding from a modal segment seems to be broken if your application uses a UITabBarController with a UINavigationController. (I saw another unge segue message, but it used swift, where when my demo application uses obj-c).

Here is what I see more specifically: [UITabBarContoller] β†’ [UINavigationController] β†’ [SomeViewController] - (Modal Segue) β†’ [This view manager cannot brush off]

Interestingly, you can relax if you perform another modal transition: [UITabBarContoller] β†’ [UINavigationController] β†’ [SomeViewController] - (Modal Segue1) β†’ [This view manager cannot brush off] - (Modal Segue2) β†’ [This view manager disconnected]

I also found that I can relax if I remove the UITabBarController or UINavigationController, but I do not plan to change the entire architecture of the user interface of the application :)

From what I see, the root view controller never gets a call to canPerformUnwindSegueAction: fromViewController: withSender: what does it do in iOS7.

My question is: Is there any other way that I should try to get my working system to work?

Thanks for reading.

Demo code here: https://github.com/nmsasaki/UnwindDemo

UPDATE

This issue is apparently fixed by iOS8.1. (The work of iOS 8.0 around creating a custom subclass of UINavigationController continues to work.)

+7
objective-c ios8 xcode6-beta6 unwind-segue
source share
1 answer

Override viewControllerForUnwindSegueAction in UITabBarController by creating a custom UITabBarController and use a custom one.

0
source share

All Articles