Ios 如何始终加载到同一UIViewController中
我有一个具有多个视图的应用程序,但我想确保它总是加载到同一个视图中 基本上,应用程序是密码保护的,我需要始终确保它加载到密码视图 我该怎么做呢Ios 如何始终加载到同一UIViewController中,ios,objective-c,Ios,Objective C,我有一个具有多个视图的应用程序,但我想确保它总是加载到同一个视图中 基本上,应用程序是密码保护的,我需要始终确保它加载到密码视图 我该怎么做呢 谢谢假设您正在使用故事板: 选择要首先在情节提要中加载的视图控制器 确保“实用程序”窗格正在显示(Command-Option-0) 确保显示属性检查器:(Command-Option-4) 选中标有“是初始视图控制器”的框 如果始终希望应用程序启动到同一UIViewController中,则需要设置应用程序的RootViewController。您可以
谢谢假设您正在使用故事板:
如果始终希望应用程序启动到同一UIViewController中,则需要设置应用程序的RootViewController。您可以在Interface Builder中通过勾选“Is Initial View Controller”框来完成此操作 或者在
(BOOL)应用程序中:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)launchOptions
方法中,您可以将rootViewController设置为
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//...
self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"MyLoginViewControllerStoryboardID"];
return YES;
}
请注意,然后必须在Interface Builder中正确设置情节提要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;
}
希望有帮助