繁体   English   中英

如何通过添加“不再显示”按钮来阻止AlertView显示?

[英]How to stop AlertView from showing up by adding “Don't show again” button?

我有一个带有Alertview的应用程序,该应用程序在启动时显示,以解释有关该应用程序的功能。 在我的alertView上,我想单击“不再显示”按钮,这样用户每次使用我的应用程序时都不必看到相同的警报。 因此,在用户选择此按钮后,如何阻止AlertView显示。 我应该在appDelegate上工作还是应该在将弹出我的Alertview的ViewController上工作?

我将为此在NSDefault存储一个值,因为我们不能在UIAlertView上更改它。

因此,一旦显示了UIAlertView ,请将此值设置为表示“读取”的值,然后在诸如applicationDidBecomeActive之类的App Delegate方法之一中检索它,并将其用作显示UIAlertView的if语句中的条件。

假设您有一个NSInteger = 0,它表示“未读”,一旦显示了UIAlertView ,请将其设置为1并将其存储在NSDefault

if(alertHasBeenRead == 0)
{
   //bring up alert view
}

然后在委托回调之一中,将此值设置为除0以外的其他值。

希望这可以帮助。

尝试这个:

if (![@"1" isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:@"alert"]]){


    UIAlertController *alert = [UIAlertController
                                alertControllerWithTitle:NSLocalizedString(@"Information", @"The title of an alert.")
                                message:NSLocalizedString(@"Some text goes here.", @"The message of an alert.")
                                preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction *ok = [UIAlertAction
                         actionWithTitle:NSLocalizedString(@"OK", @"A common affirmative action title, like 'OK' in english.")
                         style:UIAlertActionStyleDefault
                         handler:^(UIAlertAction * action)
                         {

                         }];
    UIAlertAction *dontshowagain = [UIAlertAction
                                    actionWithTitle:NSLocalizedString(@"Don't Show Again", @"A common decline action title, like 'NO' in english.")
                                    style:UIAlertActionStyleDefault
                                    handler:^(UIAlertAction * action)
                                    {
                                        [[NSUserDefaults standardUserDefaults] setValue:@"1" forKey:@"alert"];
                                        [[NSUserDefaults standardUserDefaults] synchronize];

                                    }];

    [alert addAction:ok];
    [alert addAction:dontshowagain];

    [self presentViewController:alert animated:YES completion:nil];

让我知道这是否有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM