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

Posted

技术标签:

【中文标题】如何仅在应用程序首次启动时显示警报显示?【英文标题】:how to display a alert display only on the application launch first time? 【发布时间】:2011-11-20 06:42:52 【问题描述】:

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

【问题讨论】:

【参考方案1】:

如果您指的是 UIAlertView,那非常简单。但是,如果您想要一个漂亮的视图来通知用户不同的功能,可以添加一个视图控制器,该控制器的视图具有所有这些内容,并在其上添加一个 开始 按钮。 使用 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 为您的伟大 anwesrrrrrrrr 加1【参考方案2】:

您可能可以使用在这个问题中找到的代码:

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

希望对您有所帮助! :D

【讨论】:

@EI Developer 我正在寻找这个,但是如何在此方法中显示警报视图,如链接页面所示? @EI Developer 我从您提供的链接中得到了正确答案。感谢您的帮助。

以上是关于如何仅在应用程序首次启动时显示警报显示?的主要内容,如果未能解决你的问题,请参考以下文章

Swift 仅在使用导航控制器首次启动时显示视图

ModalViewController 仅在动画时显示

应用程序第二次启动时显示第二个 ViewController

软件更新后首次启动

如何仅在初始启动时显示屏幕

当表单中没有任何更改时显示警报框