条件应用程序启动视图

时间:2009-06-10 18:00:27

标签: iphone

我的应用程序由嵌入了UINavigationController的UITabBarController驱动,用于每个活动选项卡中的每个单独视图。

第一次启动应用时,我想提供一个没有可见TabBar的单独设置视图。用户完成设置后,将使用TabBar将它们带到主视图。此外,一旦配置,初始配置视图将无法再从应用程序内访问,尽管将有一个单独的设置部分,用户可以修改他们的首选项。

这样做的好方法是什么?

2 个答案:

答案 0 :(得分:1)

创建用户无法修改的配置设置。称之为“FirstRun”或类似的东西。默认情况下将其设置为true。当用户第一次设置其设置时,将其设置为false。

在启动代码中,检查设置,如果为true,则显示初始设置页面。

答案 1 :(得分:1)

您应该在完成设置后在NSUserDefaults内创建一个设置完成变量。如果未设置此变量,则表示它是第一次运行。

在AppDelegate中,在实例化UINavigationController之前,请检查设置变量。如果不存在,请将用户带到设置视图。完成后,删除设置视图,然后恢复正常代码:

BOOL settingsDone = [[NSUserDefaults standardUserDefaults] boolForKey:@"settingsComplete"];

if (settingsDone){
    SettingsView *mySettingsView = [[SettingsView alloc] init];
    [self.window addSubView:mySettingsView.view];
}

//Set up navigationcontroller here

-(void)settingsDone{
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"settingsComplete"];
    for (UIView *view in self.window.subviews){
        [view removeFromSuperView];
    }
}

只需将设置视图中的完成按钮挂钩到settingsDone方法。