Segue issue with iOS 9

I installed iOS 9 beta on my iPad, and from the app store installed the current version of my app (that works just fine with iOS8). But there is a problem on iOS9.


I have a container view, and inside that have a tab bar controller. One of the tabs is a table view. Clicking on a cell segues to a details page. But in iOS9 the back button / ability to navigate from the details view back to the tableview is no longer visible. In fact, none of the bottom tabs are visible either, it is like it presented it modally and took control of the screen when it should be inside a container.


Anyone else experience this?

Nope. I still have the title bar (navigation bar on top right?)

Hi arjanirh! Have you tested both in iPhone and iPad? Your approach works for me on iPhone, but on iPad it doesn't. / Stefan

Only tested on iPhone. I do not have an iPad app.

beta 4 (public beta 2) also have this issue

Hi FlatDog!


Have you got any feedback on the bug you submitted?


I previously also submitted this as a bug with the reference: 21508398. I have no (valuable) feedback in that case. I have referred both to this thread and your bug submission.


BTW, just tested and the issue is still there in Beta 5.


Regards / Stefan

Hi Stefan, Apple asked me for example code, I pointed them to my app on the App store and told them to try on iOS 8 and iOS 9 and see the difference themselves. Didn't hear anything back since then. I updated my app recently and removed one of the navigation controllers and it seems to have fixed the issue in my case.

I having the same problem

I have uitableviewcontroller inside contianer view and all the cell views are not visiable

Hi FlatDog!


Thanks, I have tried that but even though it fixes the issue on iPhone it then fails on iPad...


Regards / Stefan

I now got a reply from Apple. They say:

"

This is the expected behavior. If no view controller overrides -showDetailViewController:, it will be treated as a modal presentation.

-showViewController: and -showDetailViewController: cannot be used to insert view controllers into a tab bar.


We consider this issue closed.

"


Tomorrow I will have to try to understand what this actually means.


/ Stefan

http://stackoverflow.com/questions/31006045/view-appear-with-modal-view-animation-instead-of-show-push-animation


This might help. I removed extra navigation controller and everything normal now.

Ok, I managed to solve the situation. In the end I did not have to remove any navigation controllers. All I had to do was to change a few lines in the AppDelegate.


In:

- (BOOL)splitViewController:(UISplitViewController *)splitViewController
   showDetailViewController:(UIViewController *)vc
                     sender:(id)sender {


inside:

if (splitViewController.collapsed) {


I had to add:

UIViewController *detailViewControllerNavigationController = ((UINavigationController *) vc).viewControllers[0];

Then I changed:

[masterNavigationController showViewController:vc sender:sender];

into:

[masterNavigationController pushViewController:detailViewControllerNavigationController animated:YES];


Regards / Stefan

I'm getting the exact same problem. It seems that the way we were nesting every single ViewController (VC) in NavigationViewControllers (NVC) was deemed the incorrect way to nest NVCs. TBH, I felt that way too when I first started building iOS apps.


So right now you only need one NavigationController, and then you just start adding views to it.


Old:

NVC -> VC1 -> NVC -> VC2 -> NVC -> VC3


Now:

NVC -> VC1 -> VC2 -> VC3

Looks like I was wrong about this. If you nee to have the NavigationView Controller nested inside a SplitView Controller, then you end up with the same problem when running the app on an iPhone. Ugh. This is frustrating.

Hi Justin!


Did you see my note from Aug 19, 2015 1:23 PM above? That is how I solved this issue.


Regards / Stefan

Interesting. Is this supposed to be a temporary fix, i.e. this is a bug in Xcode, or is this the new way of working with Navigation Controllers?

Segue issue with iOS 9
 
 
Q