[英]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.