如何仅在应用程序第一次启动时显示警告显示



大家好,我正在做一个阅读器应用程序,它有很多功能,捏手势搜索功能,左右滑动前一页和下一页,点击按住是章节选择视图,但是当用户下载应用程序并使用它时,我们必须在应用程序第一次启动时通过警告视图或简单的弹出窗口通知这些功能。我在许多阅读器应用程序中看到它,我知道这是通过NSNotification或类似的东西完成的,但我不知道如何使用这个,请帮助我这样做。提前感谢。

如果你指的是UIAlertView,那很简单。但如果你想要一个漂亮的视图通知用户不同的特性,也许可以添加一个视图控制器其中视图拥有所有这些东西并在上面添加一个get started按钮。使用NSUserDefaults来存储用户是否第一次进入应用程序,就像EI Developer建议的链接一样。在你的AppDelegate类中添加你对这个方法的修改。

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],@"firstLaunch",nil]];
    //If First Launch
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]) {
        //Show welcome view
        [self.window addSubview:[welcomeScreen view]];
    }
    else {
        [self.window addSubview:[startUpViewController view]];
    }
    [self.window makeKeyAndVisible];
}

在AppDelegate中添加另一个方法,当用户按下get started按钮时,welcomeScreen类可以调用该方法

- (void) getStarted {
    [[welcomeScreen view] removeFromSuperview];
    [self.window addSubview:[startUpViewController view]];
}

在welcomeScreen类中添加一个IBAction来调用这个方法。

- (IBAction) getStartedPressed {
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    [appDelegate getStarted];
    //set firstLaunch to NO
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"firstLaunch"];
}

不要忘记在你的welcomeScreen类中添加AppDelegate #import头

您可以使用这个问题中的代码:

iPhone:我如何检测应用程序何时首次启动?

希望有帮助!: D

最新更新