views:

455

answers:

2

Newbie question: is there an easy way to convert a view-based app to a navigation-based app? I have an existing app sample that was created as a view-based app, and need to be able to create additional viewcontrollers that can be nested. The app is currently using presentModalViewController calls and nibs to display windows. Trying to change these to pushViewController calls results in the views not being displayed. So I'm assuming it's because the pushViewController needs to use a Navigation view. Thanks in advance!

+1  A: 

Since you're admittedly a newbie, I would take the approach of creating a new navigation-based project and copying over your .xib and .m/.h files.

If you want to do it the hard way :), you'll add a NavigationController object to your MainWindow.xib. Then add a UINavigationController member and outlet and property to your app delegate, and connect it in interface builder to the navigation controller. At the end of your application:didFinishLaunching: method in your app delegate, set the window's view to navigationController.view. Back in MainWindow.xib, set the root navigation item to the view controller that used to be displayed at launch.

Frank Schmitt
Thanks - yes the easy way sounds preferable!
Wally
+2  A: 

In you applicationDidFinishLaunching:, create a UINavigationController and add its view to the view hierarchy, then save it off to an ivar.

This is exactly what the navigation-based template is doing. There is nothing special about a "view-based" or "navigation-based" app,.

Andrew Pouliot