我有一个包含多个视图的应用,但我想确保它始终加载到同一个视图中。
基本上该应用程序受密码保护,我需要始终确保它加载到密码视图中。
我该怎么做呢。
由于
答案 0 :(得分:2)
如果您总是希望应用程序启动到同一个UIViewController,则需要设置应用程序的RootViewController。您可以通过勾选“是初始视图控制器”
的框来在界面生成器中执行此操作
或在(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中,您可以将rootViewController设置为
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//...
self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"MyLoginViewControllerStoryboardID"];
return YES;
}
请注意,您必须在Interface Builder中正确设置storyboard ID。那是
另外,在旁注中,如果您要显示 LoginViewController ,如果用户当前不已登录,您可以执行此操作像这样的东西
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
BOOL isLoggedIn = [[NSUserDefaults standardDefaults] boolForKey:@"IsLoggedIn"];
NSString *rootStoryboardID;
if(isLoggedIn) {
rootStoryboardID = @"LoginViewControllerStoryboardID";
} else {
rootStoryboardID = @"MainViewControllerStoryboardID";
}
self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:rootStoryboardID];
return YES;
}
希望它有所帮助!
答案 1 :(得分:0)
假设您正在使用故事板: