0

我有一个具有多个视图的应用程序,但我想确保它始终加载到同一个视图中。

基本上,该应用程序受密码保护,我需要始终确保它加载到密码视图中。

我该怎么做。

谢谢

4

2 回答 2

2

如果您总是希望应用程序启动到同一个 UIViewController,您需要设置应用程序的 RootViewController。您可以在 Interface Builder 中通过勾选“是初始视图控制器”框来执行此操作

在此处输入图像描述

或者在您的(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 中正确设置情节提要 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;
}

希望能帮助到你!

于 2013-06-08T22:55:14.920 回答
0

假设您正在使用情节提要:

  1. 选择您想首先在情节提要中加载的视图控制器。
  2. 确保显示实用程序窗格(Command-Option-0)
  3. 确保显示属性检查器:(Command-Option-4)
  4. 选中标有“是初始视图控制器”的框
于 2013-06-08T22:50:41.630 回答