How to add navigation controller programmatically?
32,982
Solution 1
try as below
UIViewController *bbp=[[UIViewController alloc]initWithNibName:@"UIViewController" bundle:nil];
UINavigationController *passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController:bbp];
// [self.navigationController presentModalViewController:passcodeNavigationController animated:YES];
[self.navigationController pushViewController:passcodeNavigationController animated:YES];
[passcodeNavigationController release];
Solution 2
Add this code to your AppDelegate.m
in the didFinishLaunchingWithOptions
function:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"YOUR_STORYBOARD_NAME" bundle:nil];
yourViewControllerClassName *vc = [sb instantiateViewControllerWithIdentifier:@"YOUR_VIEWCONTROLLER_ID"];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:vc];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
yourViewControllerClassName
is the .h and .m file name that is linked to your viewController.
YOUR_STORYBOARD_NAME
is the name of your .storyboard file. For example, fill in Main
if your .storyboard file is called Main.storyboard
.
YOUR_VIEWCONTROLLER_ID
is the ID for your veiwController. You can edit it in the Identity inspector
.(See photo)
Hope this helps:)
Author by
user3267017
Updated on April 08, 2020Comments
-
user3267017 about 4 years
I use code below, but it is not loaded:
UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; self.mapViewController = [storyboard instantiateViewControllerWithIdentifier:@"MapViewController"]; self.navigationController = [[UINavigationController alloc]initWithRootViewController:self]; self.navigationBar = [[UINavigationBar alloc]init]; [self.view addSubview:self.navigationBar]; [self.navigationController.navigationController pushViewController:self.mapViewController animated:YES];