如何仅在应用程序首次启动时显示警报显示?

时间:2011-11-20 06:42:53

标签: iphone

哈我所有人都在做一个阅读器应用程序,它有很多功能,捏手势搜索功能,左右滑动上一页和下一页,点击按住章节选择视图,但是当用户下载应用程序并使用它我们必须首先启动应用程序的警报视图或简单弹出窗口来通知这些功能。我在许多读者应用程序中看到它,我知道这是通过NSNotification或类似的方式完成的那,但我不知道如何使用它,请帮助我这样做。 提前致谢。

2 个答案:

答案 0 :(得分:3)

如果您的意思是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中添加另一个方法,当用户按下开始使用按钮时,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标头

答案 1 :(得分:2)

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

iPhone: How do I detect when an app is launched for the first time?

希望它有所帮助! :d