UIAlertController 大坑

项目中在使用UIAlertController的时候发现点击空白处无法取消控件,添加手势也无法识别,后来发现使用这个控件的时候必须添加唯一的一个取消按钮。即必须有一项是UIAlertActionStyleCancel类型的按钮。如果有2项会报错,如果没有,点击空白处控件无法消失。


UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"变动类型" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

    

    [alertController addAction:[UIAlertAction actionWithTitle:@"兑换" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"点击确认");

    }]];

    [alertController addAction:[UIAlertAction actionWithTitle:@"退货" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"点击确认");

    }]];

    // 由于它是一个控制器 直接modal出来就好了

    [self presentViewController:alertController animated:YES completion:nil];
时间: 2024-11-07 20:14:27

UIAlertController 大坑的相关文章

iOS关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递页面推送

关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递 集合嵌套集合的操作 声明 两个必须的的代理 实现部分代码 - (void)viewDidLoad { [super viewDidLoad]; // 创建一个TabView self.tabv = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped]; sel

iOS--上传AppStore时遇到的10个大坑

2015.9.11更新 摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppStore的一系列产品上架规则.每次产品上架,一定要折腾很久,让人蛋疼.所以特此发起本期沙龙,为大家带来一些经验. 闫国荣:以下是现在能记忆起,遇到的问题.大家对此有不清楚的地方可以提出来,我详细介绍下. 内容含敏感话题或对苹果不友好的信息(如苹果婊) 使用了友盟的统计SDK,获取了IDFA但是上传填写无广告 采用友盟IDFA的sdk,并用友盟的

UIAlertController、UIAlertAction 警告框

NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertAction : NSObject <NSCopying> //创建操作 + (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler; NS_CLASS_AVAIL

setTimeout这个大坑,我填好了,啊哈哈!

在一次工作中碰到setTimeout的一个大坑,在用setTimeout进行延时执行一个函数的时候,由于该函数需要传参,所以把它写成了 setTimeout(fn(data),1000) ,详细如下代码: function hello(id){ alert(id); } setTimeout(hello("username"),3000) 结果函数立即执行了,根本没有延时,很费解,查了下资料,知道setTimeout的正确写法是setTimeout(fn,3000)或者setTimeo

UIAlertController

UIAlertController * alert =[UIAlertController alertControllerWithTitle:@"新建相册" message:@"请输入新建相册的名字" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"cancel" style:UI

IOS开发之UIAlertView与UIAlertController的详尽用法说明

本文将从四个方面对IOS开发中UIAlertView与UIAlertController的用法进行讲解: 一.UIAlertView与UIAlertController是什么东东? 二.我们为什么要用UIAlertView或UIAlertController? 三.如何使用UIAlertView和UIAlertController? 四.阅读提醒. 一.UIAlertView与UIAlertController是什么东东? 一句话,在所有移动应用中,出现的提示窗一般都由UIAlertView或U

iOS8以后UIAlertView和UIActionSheet两种alert页面都将通过UIAlertController来创建

1. Important: UIAlertView is deprecated in iOS 8. (Note that UIAlertViewDelegate is also deprecated.) To create and manage alerts in iOS 8 and later, instead use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert. //UIAlertView和UI

文件操作中的几个大坑

在程序开发中你经常会碰到很多关于路径的问题的.比如读取文件,写文件等,你必要传一个文件的路径.然而你也许常常碰到这样的问题:逻辑是对的,但就出不来你想要的结果.这是为什么呢?因为对于文件操作的路径问题,有很多你稍不慎就会掉入的大坑. 说几个掉进大坑的惨痛经历 编译一个C++的工程,工程中要用到cmake工具,而cmake安装在C:\Program Files (x86)\cmake2.8(程序默认安装时,安装到这个目录是很正常不是吗).然而问题来了,工程怎么编不过,报一个很诡异的异常: Micr

Python 3 函数自由变量的大坑

Python中函数是一个对象, 和整数,字符串等对象有很多相似之处,例如可以作为其他函数的参数或返回对象, Python中的函数还可以携带自由变量, 两者无疑极大增进了Python的表达力. 但是Python函数自由变量的内部机制和列表解析或for循环结合使用时却暗藏杀机: #---CASE 1 fs = map(lambda i:(lambda j: i*j),range(6)) print([f(2) for f in fs]) #---CASE 2 fs = [lambda j:i*j f