2012-05-21 70 views
0

我试图为我的应用程序(介绍页面)设置一个初始视图,并且在用户确认此页面之后,默认情况下此后将显示一个选项卡式视图。我是iOS新手,但我的第一个猜测是创建一个标准视图控制器并将其设置为初始视图。然后,当用户按下ok时,将该值存储到文件并在每次打开该应用程序时加载该值。如果他们已经按下ok,则导航到标签式屏幕。如何使用故事板更改iOS5中的初始视图?

我的第二个选项可能会表现出一些类型对话框中的完全覆盖的标签查看这可能会更简单。我不确定。

与这里虽然建议大多数方法的问题是,他们没有用故事板(关于编辑应用程序委托的建议)。我在上面列出了解决这个问题的正确方法吗?如果没有人可以提供一些关于如何实现这一目标的指导。

就像我之前说这完全是个新手(自WP7上市)很抱歉,如果我没有说明正确的条款。我感谢你的时间。

回答

2

假设您的第一个选项卡的视图控制器被命名为FirstViewController。 编辑FirstViewController的viewDidLoad:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    BOOL alreadyShownWelcomeScreen = [defaults boolForKey:@"alreadyShownWelcomeScreen"]; 
    if (alreadyShownWelcomeScreen) { 
     // Already shown welcome screen. Do nothing. 
    } else { 
     // Show welcome screen 

     WelcomeViewController *controller = [[WelcomeViewController alloc] initWithNibName:@"WelcomeViewController" bundle:nil]; 
     [self presentModalViewController:controller animated:YES]; 

     // Update NSUserDefaults. 
     [defaults setBool:YES forKey:@"alreadyShownWelcomeScreen"]; 
     [defaults synchronize]; 
    } 

注:这个,如果你总是FirstViewController推出只会工作。如果您想坚持使用状态并在不同的选项卡中启动应用程序,则必须将此代码移到其他位置(例如AppDelegate.m)。

+0

除了setBoolValue:forKey方法之外,示例看起来很完美。除非我错过了一些东西,它似乎并不存在? – loyalpenguin

+0

对不起,我的意思是写setBool而不是setBoolValue。上面更新的代码。 – melsam

+0

我尝试了以上,但它从不显示欢迎屏幕。我调试了它,它正在通过“其他”,但它没有显示在屏幕上,它仍然在标签视图上启动。 – loyalpenguin

2

你也可以在故事板中完成这一切。您的初始视图控制器可以对选项卡式控制器具有延续性,并且只会在满足条件的情况下遵循该轮播。

+0

+1其实我做了你提到的和melsam说的组合。 (据我所知)看来他的例子只适用于你使用独立的xib文件。 – loyalpenguin

相关问题