Problem with nested splitview


#1

I wonder if anyone can help with an issue I’m having around nested views, and in particular nesting a split view controller within a tabbed view. I’ve made a Plunker that shows a number of different navigation types, and allows replication of the problem, and have given a reasonably (I hope) verbose description of the repro steps within the README.md file.

The Plunker can be found at http://embed.plnkr.co/xl4kV7lvOW2JK7CdvX2t/preview

Here’s the content of the README.md for reference;

Nested Views

I’m having a problem with some nested views, which appears to be affecting the navigation controllers and history navigation around tab controllers in particular.

The Plunker consists of 5 main screens, accessible from the slide in menu on the left hand side.

  • Page - A basic page. Nothing fancy.
  • Modal - A Modal popup. Again, nothing fancy.
  • Full Width Master Detail - A relatively basic Master/Detail view, taking the full viewport
  • Split - A split view, with a second level submenu
  • Tabs (with Split) - Now we’re getting a little trickier. This is a tabbed controller with three tabs, the first of which has a split view.

The main problem comes with the ‘Tabs (with Split)’ screen, where the navigation hierarchy appears to get confused, missing the Back button at times, displaying the wrong title etc.

Hopefully the issue is relatively straightforward, and is just around the way that the tab controller is nested or how some of the views are constructed. Any help would be very much appreciated.

Tabs (with Split)

The Tabs (with Split) screen is where the first issue occurs. If you load the Plunker and navigate to Tabs (with Split) using the side menu.

The initial view loads exactly as intended.

Then select Tabs Nested Link 1 from the split view menu, and the submenu slides into place. At this point the page title for Tab 1 is set to ‘Page’ even though no such title is set in the template (Problem 1)

You can now navigate between the top level menu (Tabs Nested Link 1, Tabs Nested Link 2 etc) at will and all behaves as expected.

From the footer, choose Tab Two. This now loads and again works as intended.

If you now return to Tab One, the navigation breaks. If you choose Tabs Nested Link 1 to navigate to the submenu, the side menu burger icon vanishes. (Problem 2) The Title in the navigation bar now reads ‘Tab2’. (Problem 3)

Interestingly, clicking where the Back link should be navigates you back to the top level menu (Tabs Nested Link 1 etc)

If you then click on Tabs Nested Link 1 a second time, the navigation appears to work correctly - a ‘Back’ option slides in to replace the burger menu. However, the navigation bar title is still set to Tab2, even though we are on Tab1. (Problem 3b) Clicking the Back button returns you to the top level menu as expected.

This behaviour seems to alternate when navigating in and out of the top level menu - one time the burger button will disappear and no back option will replace it, the next time it will work correctly, the next time the burger button will disappear and no back option will replace it. (Problem 4)

Split Pane

The Split Pane option in the side menu is a similar configuration to the Tabs (with Split) option, except it is not nested inside a Tab controller.

Navigating to this option, it all works as intended, with one exception - the navigation bar title will read Tab2 - or Tab3 if that is the one you have last visited in Tabs (with Split) - (Problem 5)