如何创建仅出现一次的视图?

时间:2016-12-12 07:52:26

标签: objective-c xcode

我想创建一个显示我的应用程序的视图(“splash-screen”)。我想这个视图在启动应用程序时只显示一次(第一次使用)。对于其他开始,我希望应用程序直接在我的tabview上启动。

感谢,

1 个答案:

答案 0 :(得分:0)

请按照以下方式进行..!

目标C

在AppDelegate中:

NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];

BOOL isFirstLaunch = [standardUserDefaults boolForKey:@"ThisisFirstLaunch"];

if (!isFirstLaunch) {
    [self presentViewController:YOUR_FIRST_VIEW_CONTROLLER animated:YES completion:nil];
} else {
    [self.navigationController pushViewController:YOUR_REGULAR_VIEW_CONTROLLER animated:YES];
}

将用户响应保存在第一个控制器上:

[standardUserDefaults setBool:YES forKey:@"ThisisFirstLaunch"];

<强>夫特

在您的App代表中:

func applicationDidFinishLaunching(application: UIApplication) {
    if !NSUserDefaults.standardUserDefaults().boolForKey("isFirstLaunch") {
        NSUserDefaults.standardUserDefaults().setBool(false, forKey: "isFirstLaunch")
    }
}

在根视图控制器中:

override func viewDidAppear(animated: Bool) {
    if NSUserDefaults.standardUserDefaults().boolForKey("isFirstLaunch") {
        // FirstLaunch, proceed as normal
    } else {
        // if not
    }
}

然后将BOOL设为true:

NSUserDefaults.standardUserDefaults().setBool(true, forKey: "isFirstLaunch")