应用程序第二次启动时显示不同的视图

时间:2011-10-17 15:14:58

标签: iphone objective-c mobile interface views

我正在为iphone构建一个应用程序。

我有两个观点。用户第一次启动应用程序时,我想显示第一个视图,他按下一个按钮然后转到第二个视图。

第二次启动应用程序时,我希望它直接跳转到第二个视图。

你们能指出我正确的方向吗?

4 个答案:

答案 0 :(得分:4)

我会将NSUserDefaults用于此

-(BOOL) shouldSkipFirstView
{
    //boolForKey returns NO if that entry does not exist or is not associated with a bool
    return [[NSUserDeafults standardUserDefaults] boolForKey:@"shouldSkipFirstView"];
}
-(void) skipFirstViewInFuture
{
     [[NSUserDeafults standardUserDefaults] setBool:YES forKey:@"shouldSkipFirstView"];
     [[NSUserDeafults standardUserDefaults] synchronize]; //optional line
}

-(UIViewController*) getStartupViewController
{
    if([self shouldSkipFirstView])
    {
        [self skipFirstViewInFuture];
        return [[[MySecondViewController alloc] init] autorelease];
    }
    else
    {
        return [[[MyFirstViewController alloc] init] autorelease];
    }
}

答案 1 :(得分:0)

您应该查看NSUserDefaults。该概念将在应用程序第一次加载并显示第一个视图时将值存储为首选项。然后,每次您的应用程序打开时,检查是否设置了首选项值,如果是,则显示第二个视图。

答案 2 :(得分:0)

创建变量并将其保存到NSUserDefaults,因此第一次加载app时将其设置为true并显示视图1并将其设置为false。第二次如果是假显示视图2并将其设置为真。

代码应该在app中完成在app delegate中启动。

答案 3 :(得分:0)

您只需要打开应用程序的某种记录。例如,您可以在NSUserDefaults中存储一个包含应用程序版本的对象,该应用程序在应用程序上设置完成启动。然后,您可以检查是否存在该密钥的对象,或者记录的版本是否低于当前版本的应用程序(例如,如果您希望,每次版本更改时都显示它)。 / p>