首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不要忽视UIAlertController

不要忽视UIAlertController
EN

Stack Overflow用户
提问于 2016-12-18 20:53:24
回答 3查看 1K关注 0票数 2

我目前有一个UIAlertController,我需要将其设置为不可丢弃。按下操作按钮时,不应关闭警报。

我该怎么做呢?

代码语言:javascript
复制
 UIAlertController *alert;

    int bestScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"bestScore"] intValue];
    if (!bestScore || bestScore < _score){
        [[NSUserDefaults standardUserDefaults] setObject:@(_score) forKey:@"bestScore"];
        alert = [UIAlertController alertControllerWithTitle:@"GAME OVER "
                                                    message:[NSString stringWithFormat:@"NEW RECORD! \n SCORE : %d  \n\n\n\n\n\n", _score] preferredStyle:UIAlertControllerStyleActionSheet];
    }
    else   alert = [UIAlertController alertControllerWithTitle:@"GAME OVER"
                                                       message:[NSString stringWithFormat:@"SCORE : %d \n Best score : %d  \n\n\n\n\n\n ", _score, bestScore] preferredStyle:UIAlertControllerStyleAlert];

    [alert addAction:[UIAlertAction actionWithTitle:@"Try again" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        [self newGame];
        [self addNewView];

    }]];


      [alert addAction:[UIAlertAction actionWithTitle:@"Answer" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                [alert viewWillDisappear:NO];

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

回答 3

Stack Overflow用户

发布于 2016-12-19 11:00:32

我建议创建一个包含UIView的UIViewController。在此UIView中,您将能够显示所需的信息并添加所需的自定义按钮操作。

为了使UIView看起来像一个模式视图控制器,添加一个带有UIBlurEffectStyle的UIVisualEffectView。

这很简单,只需使用storyboard/xib创建一个传统的视图控制器,在接口构建器中添加所需的UIView,然后链接相关的视图控制器类。完成初始设置和用户界面后,将以下代码添加到viewDidLoad。此外,您还可以在viewWillAppear & viewWillDisappear中执行所需的动画等。

代码语言:javascript
复制
UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]
UIVisualEffectsView *blurView = [[UIVisualEffectView alloc] initWithEffect:effect];
[self.view insertSubview:blurView atIndex:0];
票数 1
EN

Stack Overflow用户

发布于 2016-12-19 17:49:52

你可以这样做

如果你不想关闭alertController,那么你可以禁用它的按钮动作,如下所示

代码语言:javascript
复制
alert.actions[1].enabled = NO

这将使您的alertController不可丢弃。

票数 0
EN

Stack Overflow用户

发布于 2020-02-11 14:52:24

只需在您希望alertContoller不被忽略的操作开始时再次显示alertButton,

代码语言:javascript
复制
[self presentViewController:alertController animated:YES completion:nil];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41208520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档