我有一个带导航控制器的视图控制器。它的名字是LoginViewController
。在我的AppDelegate
中,我希望将LoginViewController
保留为根视图控制器。
如何在Objective-C中执行此操作?如何将视图控制器设置为根视图控制器?
注意:我的视图控制器没有导航视图控制器。它是一个单一的视图控制器。
答案 0 :(得分:2)
喜欢
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 1. get the Storyboard Name
UIStoryboard* main = [UIStoryboard storyboardWithName:@"Main"
bundle:[NSBundle mainBundle]];
//2. get the ViewController using Storyboard ID
UIViewController *viewConr = [main instantiateViewControllerWithIdentifier:@"HomeViewController"];
// 3.finally assign the Root
self.window.rootViewController = viewConr;
[self.window makeKeyAndVisible];
return YES;
}
对于E.g
答案 1 :(得分:0)
没有故事板:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
LoginViewcontroller *Vc = [[LoginViewcontroller alloc]init];
self.window.rootViewController = Vc;
[self.window makeKeyAndVisible];
return YES;
}
如果使用故事板,只需将该视图控制器作为故事板中的初始视图控制器。
答案 2 :(得分:0)
如果要从登录页面VC
将主页VC设置为root vc在登录页面中导入appdelegate
#import "AppDelegate.h"//Import in Login page VC
self.delegate = (AppDelegate *) [[UIApplication sharedApplication] delegate]; // In viewDidLoad
在下面的代码中写下导航
//Make root view controller
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
HomeViewController * hvc = [mainStoryBoard instantiateViewControllerWithIdentifier:@"Home"];//Your Home page story board ID
self.delegate.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:hvc];
[self.delegate.window makeKeyAndVisible];