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 属性
名称类型说明默认值
titleNSString标题
preferredStyleUIAlertControllerStyle弹窗显示方式,只读
actionsNSArray<UIAlertAction *>弹窗按钮列表,只读
UIAlertAction 属性
名称类型说明默认值
enabledBOOL是否启用
titleNSString标题
styleUIAlertActionStyle按钮风格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 创建弹窗按钮并且设置标题和风格、处理事件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS 单行文本输入框 UITextField 使用

UITextField 继承 UIControl 类&#xff0c;只支持单行输入和显示&#xff0c;可输入密码类型。支持实现代理 UITextFieldDelegate 属性 名称类型说明默认值textNSString文本输入值textColorUIColor文本颜色UIFontUIFont文本大小textAlignmentNSTextAlignment文本方向NSLeftTe…

OC 中NSString与NSString 的比较

OC 中 字符串是一个对象&#xff0c;所以不能使用 进行比较是否相等。因为两个字符串的内存地址可能不一样&#xff0c;但是内容一样。所以我们要使用其他方法进行比较运算。 isEqualToString if (["2121" isEqualToString:"2121"]) {NSLog("一致&q…

javascript 对象比较是否属于同一类型对象。

js属于动态类型语言&#xff0c;那么我们如何判断 A实例是否和 b对象实例属于同一类型呢&#xff1f;比如 array array &#xff0c;Error Error&#xff0c;自定义类的实例比较 等等对象类型判断。如果只用 typeof 肯定是不行的。因为不管 array 还是 object、error、或自定…

IOS UIScrollView 滚动视图的使用和文档

UIScrollView 是一个可滚动的视图列表&#xff0c;在app中非常常见。下面简单的介绍一下UIScrollView 的用法。可实现代理UIScrollViewDelegate // 实例化UIScrollViewUIScrollView* _scrollView [[UIScrollView alloc] init];// 获取屏幕大小UIScreen* screen [UIScreen mai…

css 开启硬件加速的系统级控件

css 开启硬件加速的系统级控件 1.h5在真机上有时候会出现滑动白屏问题&#xff0c;可以开启硬件加速系统级控件进行加速滑屏加速 body{-webkit-overflow-scrolling: touch;overflow: scroll; }2.h5开启动画硬件加速 div{transform: translate(0px); }

js 动态创建注释节点 createComment

const comment document.createComment(注释) document.body.appen(commnet)

解决 sessionStroage 无法在多个标签页共享数据的问题

1.改用 cookie 方式存储数据 2.利用 window.addEventListener(‘stroage’) 监听stroage变化事件进行回调共享数据 1.全局监听stroage事件 通过监听localStroage的数据变化进去读取出token值后进行localStroage删除 window.addEventListener(stroage, (e) > {if (e.stora…

PWA 应用提示安装到桌面

当web Service 和 Manifest 被浏览器安装完后&#xff0c;正常情况下&#xff0c;浏览器会提醒用户可将网页安装到桌面。但是通常浏览器都会限制提醒。这时候我们需要手动唤醒浏览器询问用户是否安装到桌面 beforeinstallprompt beforeinstallprompt 事件 window.addEventListe…

javascript 唯一值的集合 Set对象

Set对象允许存储任何类型的唯一值&#xff0c;无论是原始值还是对象引用。可用于数组&#xff0c;集合去重等操作&#xff0c;拥有size属性 const set1 new Set([1, 2, 3, 4, 5,4]);console.log(set1.has(1)); // expected output: trueconsole.log(set1.has(5)); // expected…

获取当前窗口是否可见 document.visibilityState

document.visibilityState document.visibilityState &#xff08;只读属性&#xff09;, 返回document的可见性, 即当前可见元素的上下文环境. 由此可以知道当前文档(即为页面)是在背后, 或是不可见的隐藏的标签页&#xff0c;或者(正在)预渲染.可用的值如下&#xff1a; vi…

空闲队列函数排队 requestIdleCallback

window.requestIdleCallback()方法将在浏览器的空闲时段内调用的函数排队。这使开发人员能够在主事件循环上执行后台和低优先级工作&#xff0c;而不会影响延迟关键事件&#xff0c;如动画和输入响应。函数一般会按先进先调用的顺序执行&#xff0c;然而&#xff0c;如果回调函…

前端模式 VD, 脏检查 MVVM ,数据收集 MVVM 所使用的场合

VD 虚拟DOM 数据变化&#xff0c;先修改虚拟DOM层&#xff0c;然后通过虚拟DOM树的对比检查获取出最小的修改量进行对真实DOM树进行修改。虚拟DOM模式只是在DOM层的检查&#xff0c;所以初始渲染速度非常快。在细小修改的大量数据修改都是速度也不错的。因为只是在虚拟DOM层的计…

指数随机变量 泊松过程跳_如何深刻的理解随机变量

大多数学校的统计学悲剧在于它是多么愚蠢。老师们花费数小时来研究导数&#xff0c;方程式和定理&#xff0c;当您最终达到最佳效果时&#xff08;将概念应用于实际数字&#xff09;&#xff0c;就会出现一些无关紧要&#xff0c;没有想象力的示例&#xff0c;例如掷骰子。遗憾…

javascript 中文排序 localeCompare

localeCompare()方法返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。 新的locales、options 参数能让应用程序定制函数的行为即指定用来排序的语言。 locales 和 options 参数是依赖于具体实现的&#xff0c;在旧的实现中这两个参数是完全被忽略…

初中数学分几个模块_北京版初中数学:8大模块,59个必考易错知识点大集合,一定要注意!...

01数与式易错点1有理数、无理数以及实数的有关概念理解错误&#xff0c;相反数、倒数、绝对值的意义概念混淆。弄不清绝对值与数的分类。选择题考得比较多。易错点2关于实数的运算&#xff0c;要掌握好与实数的有关概念、性质&#xff0c;灵活地运用各种运算律&#xff0c;关键…

已知圆心,半径,角度,求圆上的点坐标

很简单一个小学算法… 圆点坐标&#xff1a;(x0,y0) 半径&#xff1a;r 角度&#xff1a;a0 则圆上任一点为&#xff1a;&#xff08;x1,y1&#xff09; x1 x0 r * cos(ao) y1 y0 r * sin(ao ) 转换成js代码&#xff0c;在javascript中Math.cos Math.sin 需把角度转换为弧度…

对php的感受100字_最新2020个人年终工作总结开头范文100字

有道是“万事开头难”&#xff0c;在进行年终工作总结的时候也是如此&#xff0c;因此&#xff0c;我们在写年终工作总结的时候&#xff0c;要先认真学习。朋友&#xff0c;下面是由出国留学网小编为大家整理提供的“2020个人年终工作总结开头范文100字”&#xff0c;仅供参考&…

IOS UITouch 触摸事件,UIResponder 的作用

IOS 中事件响应皆是通过UIResponder。我们可以执行UIResponder协议响应事件。这里我们用UIViewController做示例&#xff0c;UIViewController默认实现UIResponder协议。 // UIViewController.m - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)…

qt5python gui cookbook_Python GUI Programming Cookbook学习笔记

学习笔记Chapter2 Layout Management第一节:Arranging several labels within a label frame widget把代码加进上一篇文章中的mainloop(事件循环)labelsFramettk.LabelFrame(win,text Labels in a Frame )labelsFrame.grid(column0,row7)#将labels 放进一个容器ttk.Label(label…

IOS 定义手势监听器详解,利用 UIGestureRecognizer 进行捏合、旋转、平移、点击、长按手势事件响应

IOS中我们可以通过UITouch进行触摸事件监听&#xff0c;但是UITouch实现捏合、旋转、长按等手势事件监听非常麻烦。IOS中提供 UIGestureRecognizer 的子类帮我们简洁等实现捏合、旋转等特殊手势监听。并且一个视图可添加多个不同等手势监听器。 开启userInteractionEnabled IOS…