Building a Navigation-Based project starting from a Window based project
Just trying to wrap my head around how different project types are built and I must be missing something.
I'm trying to start with a开发者_运维技巧 window based application and just add a Navigation Controller so I understand how the different components work with the Window and App delegate.
Here's what I did:
- Created a Window based project
- In my app delegate.h I added
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
In my app delegate.m I added:
@synthesize navigationController;
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
- In the MainWindow.xib file I added a NavigationController below the Window
- Created a new UIViewController subclass (FirstView.h/m)
- Pointed the NavigationController's root view controller to FirstView
Builds clean, when I launch I get an all white screen.
What am I missing?
Add this [self.window addSubview:self.navigationController.view];
You need to add the navigation controllers view to the window. Also make sure that the outlet for the navigation controller is connected. You will also need to add root view controller for the navigation controller
Actually barfoon..your navigation controller does not contains any UIViewController
. First of all create new UIViewController
and than add it to UINavigationController
. UINavigationController
is just like stack ,which handle each and every added UIViewController i.e traversing like back and forth.
Ex..
ToDoController *toDoObj = [[ToDoController alloc] initWithNibName:@"ToDoController" bundle:[NSBundle mainBundle]];
UINavigationController *toDoNav = [[UINavigationController alloc] initWithRootViewController:toDoObj];
[self.window addSubview:toDoNav.view];
Figured it out - I had to create a new Referencing outlet and connect the Navigation Controller to the App Delegate in the .xib.
精彩评论