IOS 模态弹窗与操作版使用 UIAlertController
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相关推荐
- ZZCustomAlertView - 一个高度自定义的iOS模态弹窗
2019独角兽企业重金招聘Python工程师标准>>> 这是一个可以高度自定义的iOS模态弹窗 (modal alert view). 项目地址:https://github.com ...
- 模态弹窗与非模态弹窗
在手机app应用中各种格式的弹窗效果相信大家都看过,也可能反感过某些弹窗,本文就来谈谈关于app弹窗设计以及弹窗的适用情景. 一.弹窗的定义 1.弹窗作用 弹窗是为了让用户回应,需要用户与之交互的窗口 ...
- 【MC教程】iPad启动Java版mc(无需越狱)(保姆级?) Jitterbug启动iOS我的世界Java版启动器 PojavLauncher
[MC教程]iPad启动Java版mc(无需越狱)(保姆级?) Jitterbug启动iOS我的世界Java版启动器 PojavLauncher 文章目录 [MC教程]iPad启动Java版mc(无需 ...
- 请把ios文件解压出来是什么意思_手机资讯:最新屏蔽 iOS升级弹窗的 2 种方法
如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道最新屏蔽 iOS升级弹窗的 2 种方法,那么既然现 ...
- IOS基础NSOperation的操作优先级和操作依赖
IOS基础NSOperation的操作优先级和操作依赖 操作优先级 // ViewController.m // 34-操作优先级 // Created by 鲁军 on 2021/3/9. #imp ...
- 强封锁之后,华为正寻求10亿美元贷款;苹果发布iOS 12.3.1正式版,出击垃圾短信;联想CFO为“联想搬出中国”言论道歉;...
关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...
- 微信小程序之自定义模态弹窗(带动画)实例
代码地址如下: http://www.demodashi.com/demo/13991.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.c ...
- 苹果设备频繁杀后台问题在iOS 13.2.2正式版更新后得以抑制
苹果手机近期爆出的频繁杀后台的问题,终于在iOS 13.2.2正式版系统更新后得到了一定程度上的抑制.其实,在iOS 13中,杀后台也仅仅是用户吐槽的众多问题之一,其他各种各样的小问题也是层出不穷. ...
- 苹果发布iOS 12.3.1正式版:更有效的屏蔽垃圾短信
今天凌晨,苹果推送了iOS 12.3.1正式版,针对iPhone和iPad的问题进行了修复,使用户可以更好的屏蔽垃圾短信. iOS 12.3.1 包含针对 iPhone 和 iPad 的问题修复.本次 ...
最新文章
- SAP SD基础知识之销售模式
- 【学术相关】如何找到研究的突破点?
- java ee的小程序_扩展Java EE应用程序的基础
- 街舞中的rolling机器人_REMEMBER街舞培训中心2020年元旦汇演
- Hadoop系列-YARN RM HA 高可用集群
- Facebook开发实时分析控制面板
- MyBatis----resultMap的使用
- 目前最好的DirectShow分离器和解码器: LAV Filter
- 【工具】 Wget网页图片下载利器
- Twitter技术主管回怼马斯克!马斯克:He’s fired!
- Python 网络爬虫从0到1 (2):网络爬虫的特性、问题与规范
- 2021-2027全球及中国红外探测器芯片行业研究及十四五规划分析报告
- 西安财经大学计算机考研科目,西安财经大学2020年硕士研究生考试复试科目与参考书目...
- 【pytorch】torch2trt
- android listview 切换,Android ListView切换按钮
- 通俗易懂聊springMVC中的handler是什么
- 十大老牌黑客之:米特尼克
- 如何在HTML做个按钮
- 十、Cadence ic 617 D触发器版图设计
- html table转excel单元格带背景颜色
热门文章
- 河北微型计算机原理专接本,河北省专接本(微机原理与接口技术知识点总结)
- 网上书店管理系统java部分代码_网上书店管理系统 java语言
- python图片保存重命名_Python实现重命名一个文件夹下的图片
- python中config命令_【Python】 配置解析ConfigParser 命令行参数解析optparser
- mysql链式复制_MySQL主从服务器链式复制配置(ubuntu)
- mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...
- Win7旗舰版打不开任务管理器怎么办
- C++17新特性之std::string_view
- http请求POST方式发送获得返回值
- Java new关键字和newInstance()方法的区别