2
votes

Interface builder does not allow you to add a UISplitViewController as the root controller of a UINavigationController. I've also tried programmatically creating the UINavigationController and setting its root view controller to be the UISplitViewController.

The result is an empty window with just the nav bar.

I've also tried a split view controller replacement, MGSplitViewController. It mostly works, except that within the split view controller, the master view is another UINavigationController. Its nav bar shows up too thick. Changing orientation and back clears it up.

I've been trying all sorts of different approaches to having a view that looks like a split view and other views that I switch between. I've tried within a tab view controller, writing my own controller to manage subviews of the window and having the split view as a managed view, and now the navigation controller. All attempts have had some issues. The most consistent issue is regarding the orientation of the view. My app is running in landscape mode and typically the child views think its still portrait.

Any ideas appreciated.

2

2 Answers

2
votes

No.

The bottom line: a UISplitViewController must be the root view of an app (or perhaps more specifically, a window). It can not live inside a UINavigationController or anything else.

This is the case with the current SDK, and there's no guarantee that will change in future SDKs.

1
votes

It seems strange to add a split view to a navigation stack. The master pane of a split view controller is generally a navigation controller, so (without knowing more about your design), I'd probably use that to control your navigation hierarchy.