【问题标题】:How to implement tow storyBoards ? ios如何实现两个故事板? IOS
【发布时间】:2014-10-31 19:06:34
【问题描述】:

如果用户第一次打开应用程序,我想显示欢迎屏幕。 如果这是我第二次想要显示主屏幕。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

    if(first time)
    {
       //display welcome screen
    }

    if(second time)
    {
      //display Home screen.
    }

}

这可以使用情节提要吗? 还是我应该使用 xib ?

【问题讨论】:

    标签: ios storyboard xib nib


    【解决方案1】:

    您可以使用 UserDefaults 来保存保存状态。我不建议使用 Storyboard,简单地将所有屏幕设计成单独的笔尖。

    #define kUserDefaultsHideWelcomeScreen @"welcomeScreen"
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    
       if(![[NSUserDefaults standardUserDefaults] boolForKey: kUserDefaultsHideWelcomeScreen]) {
    
         [[NSUserDefaults standardUserDefaults] setBool:YES forKey: kUserDefaultsHideWelcomeScreen];
         [[NSUserDefaults standardUserDefaults] synchronize];
    
         //display welcome screen
       } else {
         // display home screen
       }
    }
    

    【讨论】:

    • 我知道如何检查这是不是第一次,我只想知道如何让ios启动主屏幕,或者启动欢迎屏幕!
    【解决方案2】:

    可以同时使用 Storyboard 和 Nib (xib)。

    这里是 Storyboards 的解决方案(另外,看看UIStoryboard class):

    在您的应用程序包中使用 Welcome.storyboardHome.storyboard,这看起来像:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    
        NSString *storyboardName;
        if(first time)
        {
            storyboardName = @"Welcome";
    
        }
        else if(second time)
        {
            storyboardName = @"Home";
        }
    
        UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
        UIViewController *rootViewController = [mainStoryboard instantiateInitialViewController];
    
        // Classic window.rootViewController dance here
        self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
        self.window.rootViewController = rootViewController;
        [self.window makeKeyAndVisible];
    
        return YES;
    }
    

    【讨论】:

    猜你喜欢
    • 2015-03-26
    • 2012-10-11
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 2012-01-17
    • 1970-01-01
    相关资源
    最近更新 更多