how to add uinavigation controller in a view based application

前端 未结 4 1114
甜味超标
甜味超标 2021-01-23 01:15

I wanted to add a navigation controller to a view based application . how can we do this both programmatically and using xib file..

相关标签:
4条回答
  • 2021-01-23 01:52

    You can just drag a "Navigation Bar" from your objects in the bottom right corner of Interface Builder. This basically does what Sachin says in his answer but you still have to programmatically create the functionality of the navigation controller. I.e pushing new views to the stack and poping them off.

    In my opinion it's easiest to do it entierly in the code.

    0 讨论(0)
  • 2021-01-23 02:06
    UINavigationController *navcontroller = [[UINavigationController alloc] initWithRootViewController:viewController];//here viewController is to which you want to make the navigation
    
    [self.view addSubView:navController.view];
    
    0 讨论(0)
  • 2021-01-23 02:14

    If you need to incorporate a navigation controller in your uiviewcontroller you need to initialize it as it follows

    UIViewController *yourViewController = ...
    
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:yourViewController];
    
    [self presentModalViewController:navController animated:YES];
    
    //you need to release the controller
    [navController release];
    

    If you are in the UIApplicationDelegate method

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    

    You can't do a presentModalViewController:navController animated... then you need to add the navController.view to the window

        UIViewController *yourViewController = ...
    
        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:yourViewController];
        [self.window addSubview:navController.view];
        //don't do a release of navController because is not retained by addSubview
    
    0 讨论(0)
  • 2021-01-23 02:16

    If you want to have a navigation controller as the root view for your main window. Then you can do so by using the following code.

    @interface yourAppDelegate_iPad : NSObject <UIApplicationDelegate> {
        UINavigationController *navigationController;
    }
    
    @property (nonatomic, retain) UINavigationController *navigationController;
    
    @end
    
    @implementation yourAppDelegate
    @synthesize navigationController;
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    
        navigationController = [[UINavigationController alloc] initWithRootViewController:yourRootViewController];
        [self.window addSubview:navigationController.view];
        [self.window makeKeyAndVisible];
        return YES;
    }
    

    You can do this by using the xib as follows

    1. Open the MainWindow.xib
    2. Drag and drop a UINavigationController to it.
    3. Create and connect the outlets.
    4. Open attributes for the navigation controller and set the root view.
    0 讨论(0)
提交回复
热议问题