これはAppの代理人に実装する必要があります。これはメソッドで行う必要があります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
ユーザーのデフォルトで保存された値をチェックし、適切なコントローラーを起動します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Check user defaults here
BOOL shouldShowLogin = [[NSUserDefaults standardUserDefaults] boolForKey:@"ShowLogin"];
MasterViewController *masterViewController = [[[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil] autorelease];
self.navigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease];
if (shouldShowLogin) {
LoginViewController *loginViewController = [[[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] autorelease];
[self.navigationController pushViewController:loginViewController animated:NO];
}
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES; }
上記の例では、アイデアを示す必要があります。ナビゲーションコントローラーを使用しますが、ログインコントローラーをモーダルに提示することでナビゲーションコントローラーなしでも同じことができます。