在IOS8之后,UIAlertController替代了UIActionSheet和UIAlertView。UIAlertController的使用主要分三个步骤:

一、初始化

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"警告" message:@"啊哈哈哈哈" preferredStyle:UIAlertControllerStyleAlert];
// typedef NS_ENUM(NSInteger, UIAlertControllerStyle) {
//    UIAlertControllerStyleActionSheet = 0,
//    UIAlertControllerStyleAlert
//} NS_ENUM_AVAILABLE_IOS(8_0);

二、添加Action(button或者textfield)

[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {NSLog(@"点击了取消按钮");}]]; // 创建action添加action
    UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {NSLog(@"点击了确定按钮");}];[alert addAction:sureAction]; // 创建action添加actionsureAction.enabled = NO;    self.sureAction = sureAction;
__weak typeof(self) weakSelf = self;[alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {textField.placeholder = @"用户名";textField.textColor = [UIColor redColor];[textField addTarget:weakSelf action:@selector(textDidChange:) forControlEvents:UIControlEventEditingChanged];}]; // 添加textField

- (void)textDidChange:(UITextField *)textField{    self.sureAction.enabled = textField.hasText;}

三、显示

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

四、弱引用的方式

//    __weak UIAlertController *weakAlert = alert;
//    __unsafe_unretained UIAlertController *weakAlert = alert;
//    __weak typeof(alert) weakAlert = alert;

转载于:https://www.cnblogs.com/yaann/p/4624876.html

B12-UIAlertController(NS_CLASS_AVAILABLE_IOS(8_0))。相关推荐

  1. 龙格-库塔法(Runge-Kutta methods)

    非线性的常微分方程通常是难以求出解析解的,只能通过多次迭代求近似的数值解. 龙格-库塔法(Runge-Kutta methods)是用于非线性常微分方程的解的重要的一类隐式或显式迭代法.简写做RK法. ...

  2. HTML5-用canvas画布rotate字体旋转(中国象棋棋谱)。

    一开始我们老师安排我做这个作业,在这个作业我遇到了一个很重大的问题就是,文字旋转这么旋转,我查了很多资料. 1发现绘画正方形,使他正方形中心原点旋转非常容易理解.(我相信这个很多人看一下都会懂,) 1 ...

  3. 首先声明两者所要实现的功能是一致的(将多维数组降位一维)。这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平)。两者的区别在于返回拷贝(copy)还是返回视图(view)

    首先声明两者所要实现的功能是一致的(将多维数组降位一维).这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平).两者的区别在于返回拷贝(copy)还是返回视图(view), ...

  4. 剑指offer:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。

    问题:把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 通俗易懂的 ...

  5. 编写一程序,有2个文本框,在第一个文本框中输入一个整数,当焦点从第一个文本框离开时,第二个文本框将显示这个数的绝对值(使用FocusListener)。

    编写一程序,有2个文本框,在第一个文本框中输入一个整数,当焦点从第一个文本框离开时,第二个文本框将显示这个数的绝对值(使用FocusListener). import javax.swing.*; i ...

  6. Git是目前世界上最先进的分布式版本控制系统(没有之一)。

    http://zhidao.baidu.com/link?url=NSYPiSvtGTMoqMA9vt68FRRF8WbfYVmwWeMh47_2lkp0K3jFMl--1Co1tg1R4VshTQV ...

  7. 程序发布出现: 服务器无法处理请求---无法生成临时类(result = 1)。 错误CS2001:未能找到源文件“C:\ Windows \ TEMP \ lph54vwf.0.cs”...

    服务器上发布的web服务程序出错: 服务器无法处理请求--->无法生成临时类(result = 1). 错误CS2001:未能找到源文件"C:\ Windows \ TEMP \ lp ...

  8. 安卓运行时监听配置更改:sim卡、本地语言、键盘显示或隐藏、字体大小、UI模式、屏幕方向、屏幕布局(另一个屏幕)、可用屏幕大小(横纵向)、无屏幕大小(外接屏幕)。

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓运行时可以监听的配置更改:sim卡.本地语言.键盘显示或隐藏.字体大小.UI模式.屏幕方向.屏幕布局(另一个屏幕).可用屏幕大小(横纵向).无屏幕 ...

  9. C# OO(初级思想)。

    继承,多态,封装 在C#中,为了能够合理描述自然界的规律,面向对象的编程引入了继承的概念,是面向对象编程中最重要的概念之一,定义了如何根据现有的类创建新类的过程. 继承:一个类派生出来的子类具有这个类 ...

最新文章

  1. java ssssss_Java 时间字符串(HH:mm:ss.SSS) 转换成毫秒(milliseconds)
  2. An error occurred. connect() failed (111: Connection refused) while connecting to upstream
  3. ajax获取php的数组,使用AJAX请求获取数组并将其传递到php数组中 - javascript
  4. [NodeJs] npm提供了哪些钩子?各有什么作用?
  5. 震惊!程序员要放弃 Python 了!?发生了啥?
  6. The Castle(信息学奥赛一本通-T1250)
  7. 虹软sdk 服务器运行 错误码94212 解决方案
  8. u盘无媒体容量0无卷还能修吗_都2020年了,买新U盘没Type-C接口就过时了
  9. 柱形图无数据可选中_Excel---多层柱形图来了!让领导看呆
  10. windows oracle 宕机,windows上的oracle一次宕机恢复
  11. VC如何打开代码对应的界面编辑窗口
  12. 我开始学习golang编程语言-1
  13. U盘的文件夹变成快捷方式,原来是这个病毒在作祟hypertrm.exe
  14. 2023中兴笔试复盘
  15. python num函数,python函数
  16. halo输入QQ号获取QQ头像和名称
  17. 计算机组装物料清单,物料清单
  18. 网络互联与互联网 - CIDR:无类别域间路由
  19. colorkey唇釉是否安全_colorkey唇釉安全吗-colorkey唇釉真假辨别
  20. 你印象中计算机是什么样子的?用89张图来阐述,你一定会懂的

热门文章

  1. 命令python所在的驱动器和文件夹_Python读取不同本地驱动器位置的文件
  2. python processpoolexector 释放内存_使用Python的multiprocessing.pool,内存使用量不断增长...
  3. c语言 error 9,C语言求助(_) c:9: error: syntax error before '[' token
  4. webpack html转成js,WebPack的基础学习
  5. Android悬浮按钮锚点位置,Android 滑动定位+吸附悬停效果实现
  6. 教学一体机属于计算机的什么应用,教学一体机跟电脑有什么区别 让教学氛围有着更好的教学效果...
  7. mysql 定时脚本_MySQL定时执行脚本(计划任务)命令实例
  8. mysqlplus 批量插入_ibatis结合oracle批量插入三种方法的测评
  9. spss回归分析_回归分析中的简单斜率检验:用SPSS或jamovi实现
  10. c语言判断一个点在长方体内部_21个入门练手项目,让你轻松玩转C语言