IOS8 以后UIAlertView 改用 UIAlertController 实现模态窗和操作板。UIAlertController 的使用与UIAlerView 非常不同,它实际上是把弹窗内容与显示方式、按钮列表、分离。实现起来非常简单。如下

1.调用静态方法创建弹窗控制器 alertControllerWithTitle

声明弹窗控制器,title 表示弹窗的标题,message表示弹窗文字内容,重点是preferredStyle 表示弹窗的显示方式,UIAlertControllerStyleActionSheet操作版方式显示,UIAlertControllerStyleAlert 模态窗方式

 // 创建控制器UIAlertController* alertConrtoll = [UIAlertController alertControllerWithTitle:@"错误" message:@"网络错误,获取失败" preferredStyle:UIAlertControllerStyleActionSheet];
2.为弹窗控制器增加按钮 UIAlertAction

UIAlertActions 是弹窗按钮类,通过静态方法actionWithTitle 创建,style表示按钮风格,handler是按钮被点击的回调函数。我们创建完按钮组件通过 addAction加入弹窗控制器

 // 创建弹窗按钮组件UIAlertAction* okBtn = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler: nil];UIAlertAction* cancelBtn = [UIAlertAction actionWithTitle:@"重新获取" style:UIAlertActionStyleCancel handler: nil];// 添加按钮[alertConrtoll addAction:okBtn];[alertConrtoll addAction:cancelBtn];
显示弹窗

显示弹窗和插入视图控制器方法一致。

[self presentViewController:alertConrtoll animated:YES completion:nil];
UIAlertController 属性
名称 类型 说明 默认值
title NSString 标题
preferredStyle UIAlertControllerStyle 弹窗显示方式,只读
actions NSArray<UIAlertAction *> 弹窗按钮列表,只读
UIAlertAction 属性
名称 类型 说明 默认值
enabled BOOL 是否启用
title NSString 标题
style UIAlertActionStyle 按钮风格 UIAlertActionStyleDefault
UIAlertController API
  • + (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle 创建弹窗控制器并且设置标题,内容,显示风格
  • - (void)addTextFieldWithConfigurationHandler:(void (^ __nullable)(UITextField *textField))configurationHandler 添加可输入弹窗
UIAlertAction API
  • + (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler 创建弹窗按钮并且设置标题和风格、处理事件

IOS 模态弹窗与操作版使用 UIAlertController相关推荐

  1. ZZCustomAlertView - 一个高度自定义的iOS模态弹窗

    2019独角兽企业重金招聘Python工程师标准>>> 这是一个可以高度自定义的iOS模态弹窗 (modal alert view). 项目地址:https://github.com ...

  2. 模态弹窗与非模态弹窗

    在手机app应用中各种格式的弹窗效果相信大家都看过,也可能反感过某些弹窗,本文就来谈谈关于app弹窗设计以及弹窗的适用情景. 一.弹窗的定义 1.弹窗作用 弹窗是为了让用户回应,需要用户与之交互的窗口 ...

  3. 【MC教程】iPad启动Java版mc(无需越狱)(保姆级?) Jitterbug启动iOS我的世界Java版启动器 PojavLauncher

    [MC教程]iPad启动Java版mc(无需越狱)(保姆级?) Jitterbug启动iOS我的世界Java版启动器 PojavLauncher 文章目录 [MC教程]iPad启动Java版mc(无需 ...

  4. 请把ios文件解压出来是什么意思_手机资讯:最新屏蔽 iOS升级弹窗的 2 种方法

    如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道最新屏蔽 iOS升级弹窗的 2 种方法,那么既然现 ...

  5. IOS基础NSOperation的操作优先级和操作依赖

    IOS基础NSOperation的操作优先级和操作依赖 操作优先级 // ViewController.m // 34-操作优先级 // Created by 鲁军 on 2021/3/9. #imp ...

  6. 强封锁之后,华为正寻求10亿美元贷款;苹果发布iOS 12.3.1正式版,出击垃圾短信;联想CFO为“联想搬出中国”言论道歉;...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  7. 微信小程序之自定义模态弹窗(带动画)实例

    代码地址如下: http://www.demodashi.com/demo/13991.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.c ...

  8. 苹果设备频繁杀后台问题在iOS 13.2.2正式版更新后得以抑制

    苹果手机近期爆出的频繁杀后台的问题,终于在iOS 13.2.2正式版系统更新后得到了一定程度上的抑制.其实,在iOS 13中,杀后台也仅仅是用户吐槽的众多问题之一,其他各种各样的小问题也是层出不穷. ...

  9. 苹果发布iOS 12.3.1正式版:更有效的屏蔽垃圾短信

    今天凌晨,苹果推送了iOS 12.3.1正式版,针对iPhone和iPad的问题进行了修复,使用户可以更好的屏蔽垃圾短信. iOS 12.3.1 包含针对 iPhone 和 iPad 的问题修复.本次 ...

最新文章

  1. SAP SD基础知识之销售模式
  2. 【学术相关】如何找到研究的突破点?
  3. java ee的小程序_扩展Java EE应用程序的基础
  4. 街舞中的rolling机器人_REMEMBER街舞培训中心2020年元旦汇演
  5. Hadoop系列-YARN RM HA 高可用集群
  6. Facebook开发实时分析控制面板
  7. MyBatis----resultMap的使用
  8. 目前最好的DirectShow分离器和解码器: LAV Filter
  9. 【工具】 Wget网页图片下载利器
  10. Twitter技术主管回怼马斯克!马斯克:He’s fired!
  11. Python 网络爬虫从0到1 (2):网络爬虫的特性、问题与规范
  12. 2021-2027全球及中国红外探测器芯片行业研究及十四五规划分析报告
  13. 西安财经大学计算机考研科目,西安财经大学2020年硕士研究生考试复试科目与参考书目...
  14. 【pytorch】torch2trt
  15. android listview 切换,Android ListView切换按钮
  16. 通俗易懂聊springMVC中的handler是什么
  17. 十大老牌黑客之:米特尼克
  18. 如何在HTML做个按钮
  19. 十、Cadence ic 617 D触发器版图设计
  20. html table转excel单元格带背景颜色

热门文章

  1. 河北微型计算机原理专接本,河北省专接本(微机原理与接口技术知识点总结)
  2. 网上书店管理系统java部分代码_网上书店管理系统 java语言
  3. python图片保存重命名_Python实现重命名一个文件夹下的图片
  4. python中config命令_【Python】 配置解析ConfigParser 命令行参数解析optparser
  5. mysql链式复制_MySQL主从服务器链式复制配置(ubuntu)
  6. mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...
  7. Win7旗舰版打不开任务管理器怎么办
  8. C++17新特性之std::string_view
  9. http请求POST方式发送获得返回值
  10. Java new关键字和newInstance()方法的区别