我的应用有多个 View ,但我想确保它始终加载到同一个 View 中。
基本上,该应用程序受密码保护,我需要始终确保它加载到密码 View 中。
我该怎么做。
谢谢
最佳答案
如果您总是希望应用程序在同一个 UIViewController 中启动,您需要设置应用程序的 RootViewController。您可以在 Interface Builder 中通过勾选“Is Initial View Controller”框来执行此操作
或者在您的(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;
}
希望对您有所帮助!
关于ios - 如何始终加载到同一个 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17004558/