iOS UIAlertController控件

2023-05-16

UIAlertController取代UIAlertViewUIActionSheet,用于界面弹出一个警告视图。

初始化方法,UIAlertControllerStyle分为UIAlertControllerStyleAlertUIAlertControllerStyleActionSheet两种。

+ (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message 
		preferredStyle:(UIAlertControllerStyle)preferredStyle;

添加按钮和关联输入框,UIAlertAction共有三种类型,默认(UIAlertActionStyleDefault)、取消(UIAlertActionStyleCancel)和警告(UIAlertActionStyleDestructive)。

- (void)addAction:(UIAlertAction *)action;
- (void)addTextFieldWithConfigurationHandler:(void (^ __nullable)(UITextField *textField))configurationHandler;

1. UIAlertControllerStyleAlert模式

UIAlertControllerStyleAlert模式会弹出一个对话框视图,点击其他区域不会退出。

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"标题" message:@"这是一个测试"
                                preferredStyle:UIAlertControllerStyleAlert];
[alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
    textField.placeholder = @"请输入";
}];
[alert addAction:[UIAlertAction actionWithTitle:@"默认" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
    NSLog(@"text = %@", alert.textFields.firstObject.text);
    NSLog(@"默认按钮");
}]];
[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action){
    NSLog(@"取消按钮");
}]];
[self presentViewController:alert animated:YES completion:^(){
    NSLog(@"alert completion");
}];

显示如下
在这里插入图片描述
如果是三个按钮,会垂直排列
在这里插入图片描述

2. UIAlertControllerStyleActionSheet模式

UIAlertControllerStyleActionSheet模式会从底部弹出一个视图,点击其他区域也会退出。

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"标题" message:@"这是一个测试"
                                preferredStyle:UIAlertControllerStyleActionSheet];
[alert addAction:[UIAlertAction actionWithTitle:@"选项一" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
    NSLog(@"按钮一");
}]];
[alert addAction:[UIAlertAction actionWithTitle:@"选项二" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
    NSLog(@"按钮二");
}]];
[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action){
    NSLog(@"取消按钮");
}]];

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

显示如下
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS UIAlertController控件 的相关文章

  • iOS 外部附件框架:如何获取特定 MFI 设备的协议字符串

    我正在编写一个 iOS 应用程序 用于与 mini mPlay Drumi MP18B 小型蓝牙扬声器 进行通信 据我所知 showBluetoothAccessoryPickerWithNameFilter仅显示协议字符串添加到 Info
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • 更改 UITextField 辅助功能描述

    有没有办法将 UITextField 的辅助功能标签设置为 文本字段 之外的其他内容 因此 我不想将其称为 文本字段 而是将其命名为 代码验证字段 我的建议是不要试图在内置语音输出上智取系统 对于盲人用户来说 文本字段正在编辑 相当于 该项
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • iPad 3 中配备 Xcode 4.2 和 Retina 的 iOS 5.1

    我有一台装有 Mac OS X Snow Leopard 的 Mac 我可以添加 iOS 5 1 吗 使用 iPad 3 的新分辨率 我们将如何处理图像 因为如果该应用程序将在 iPhone 3GS 4 和 iPad 3 中运行 我认为我们
  • 播放(非库)Apple Music 内容 - 请求失败

    我正在尝试使用以下代码播放专辑 let predicate MPMediaPropertyPredicate value 1459938538 forProperty MPMediaItemPropertyAlbumPersistentID
  • 如何自动为 Swift 类创建初始化程序?

    UPDATE 使用结构而不是类 struct 在很多方面都更好 它有自己的初始化器 这是我的模型课 是否有可能创建init自动方法 每次我都必须将所有变量一一初始化 这会花费很多时间 class Profile var id String
  • 具有非零“内容”的 QTMovieLayer 的 iOS 替代品?

    背景 QTKit QuickTime Kit 是一个来自 10 3 天的 Mac 框架 在 10 5 中添加了一些层 例如QTMovieLayer QTMovieLayer 的好处之一是您可以使用常规访问电影内容content图层上的属性并
  • XCode 调试 - 我可以绕过反汇编代码的单步执行吗

    调试项目时 在 XCode 中设置断点后 我将开始单步执行代码 然后我会遇到反汇编代码 我认为这些代码是对没有可用源代码的各种框架的调用 这是一个正确的假设吗 有没有一种方法 可能通过我尚未找到的项目设置 来抑制此汇编代码的显示 而不必单步
  • Expo 应用程序“您的应用程序正在使用广告标识符 (IDFA)”

    我正在尝试将应用程序上传到应用程序商店 每次我上传二进制文件时 苹果都会坚持认为我的应用程序正在使用广告 而我从未实现过这样的事情 我查看了文档并删除了涉及的所有代码ASIdentifier and adIdentifier我不太确定我错过
  • 从 AF.Request 响应获取数据

    我需要使用 Alamofire 的 Post 请求调用的 json 响应中的数据 但由于某种原因我无法访问该数据 我尝试按照 Alamofire github 文档以及这篇文章进行操作从 AF 响应 JSON 获取数据 https stac
  • 如何相对于包含视图大小定位子视图?

    我希望能够将我的子视图从顶部定位到超级视图大小的 25 NSLayoutConstraint topPositionConstraint NSLayoutConstraint constraintWithItem containerView
  • ios - 使用 SIGPIPE 和 SIG_IGN 的信号函数

    我加入了一个旧项目 我发现了这条线 BOOL application UIApplication application didFinishLaunchingWithOptions NSDictionary launchOptions si
  • 我正在寻找 GCDAsyncUdpSocket 上的一些示例,但发现没有一个有效

    接收数据从未被调用过 我编写了这个由我的主线调用的 swift 类UI视图控制器向接收消息的服务器发送消息 但当服务器发回响应时 客户端永远不会收到它 因为 didReceiveData 从未被触发 我一直在谷歌上搜索并查看文档 它说客户端
  • 如何确定 UINavigationController 中工具栏的高度?

    我有一个带有由 UINavigationController 呈现的工具栏的视图 当我处理 UIKeyboardWillShowNotification 时 我将整个屏幕向上滚动键盘的高度 问题是当显示键盘时 底部工具栏不显示 所以我只需将
  • swift 3.0 中的 Sha 256 加密语法错误

    func SHA256 gt String let data self data using String Encoding utf8 let res NSMutableData length Int CC SHA256 DIGEST LE
  • iOS SDK:MapKit MKPolyLine 未显示

    我试图在地图上显示多段线 但该线没有显示 我尝试了很多事情 但注意到似乎有用 我检查了核心数据函数 它正在返回数据 所以这不是问题 它必须是我在地图点创建或地图上绘制的某个地方 我猜 我确信一定是某个地方出了点小错误 但我找不到它 My c
  • UITableViewController 无法识别的选择器发送到实例

    当我传递一个整数时 我有一个 tableviewcontroller 和一个detailtableviewcontroller UITableViewController setSurveyNumber 无法识别的选择器发送到实例 Biza

随机推荐

  • 【更新多方案】青龙面版解决服务异常,请手动执行ql check检查服务状态

    有问题可以加群讨论讨论下 113815925 简单粗暴解决问题不想啰嗦一大堆 1 检测青龙环境并修复 ql check 2 检测依赖文件并修复 docker exec it qinglong bin bash ql 3 更新并重启青龙 ql
  • 【需要magisk面具】旧手机搭建青龙面版,本地跑青龙【等我有时间整合下机器人以及内网穿透】

    本教程所需113815925群内下载 前期准备 首先在旧手机上安装BusyBox magisk juicessh三个软件 xff0c 网上都能搜索到 BusyBox是一个集成了一百多个最常用 linux 命令和工具的软件 xff0c 用于给
  • 【免root】旧安卓手机本地运行青龙面板[termux高级终端]

    前期准备 下载zerotermux和青龙恢复包并且安装zwerotermux 软件需要后台运行所以我们要打开设置 xff0c 找到电池 xff0c 点击后台耗电管理找到zerotermux然后允许软件后台高耗电 xff08 每部手机设置不同
  • 青龙面版跑QQ阅读

    手机写的教程将就看 本博客QQ群 113815925 可以的话填我的邀请码 121519165 谢谢 首先我们得去配置17行设置下拉取后缀sh 然后就是拉库 ql raw https ghproxy com https raw github
  • 利用青龙面版实现cpolar穿透内网

    之前的钉钉穿透 xff0c 被你们薅跑了 cpolar内网穿透拉库 ql raw https ghproxy com https raw githubusercontent com jiankujidu cpolar main nwct c
  • 随身WIFI debian安装docker

    安装docker环境 1 切换root sudo i 2 更新源 xff1a sudo apt get update 3 安装工具 xff1a sudo apt get install curl wget apt transport htt
  • 随身WIFI刷入debian

    本文使用的型号为UFI001 必须刷入boot xff0c 有adb才能玩 xff0c 也可以直接刷入 其他型号请参考大佬的文章 https www kancloud cn handsomehacker openstick 2636505
  • 傻妞恢复包带短信登录(迟来的恢复包)

    傻妞恢复包 magisk模块就不启动青龙 xff0c 添加下容器就可以 目录全部在 data data com termux files home local share tmoe linux containers proot ubuntu
  • A1153

    题意 xff1a 输入准考证号 xff0c 考试分数 然后输入查询命令 xff0c 对每个命令按照要求模拟输出 思路分析 xff1a 命令为1 xff1a 表示查询考 级的所有记录 xff0c 按照成绩从大到小排名 xff0c 成绩相同则按
  • 电脑显示WiFi已连接,但无法访问internet怎么解决?

    我在玩游戏的时候电脑突然卡崩了 xff0c 我无奈的重启了一下 xff0c 结果电脑重启后连不上网了 xff0c 我开始以为还在重新连接 xff0c 在等待 xff0c 过了好久才发现其实早就连上wifi了 xff0c 但显示无法连接int
  • Python-Django-模型

    一 ORM 模型介绍 1 ORM 模型 对象关系映射 xff08 英语 xff1a Object Relational Mapping xff0c 简称ORM xff0c 或ORM xff0c 或OR mapping xff09 xff0c
  • LeetCodeWeeklyContest-159

    最近看了篇文章 xff0c 文章里说 希望你身边能有个比你聪明五倍 xff0c 但却比你还努力十倍的人 倍数虽然有些夸张 xff0c 但是这个思想还是能get到的 5230 缀点成线 在一个 XY 坐标系中有一些点 xff0c 我们用数组
  • 获取安卓设备唯一标识方法总结

    安卓设备的唯一标识的方法并不唯一 xff0c 也没有哪种方法能够适用于所有的Android设备 xff0c 下面列出几种常见的方式 xff0c 可以根据需要选择 1 IMEI 码 IMEI xff08 国际移动设备识别码 xff09 唯一编
  • Anaconda安装及环境变量配置(Ubuntu)

    安装Anaconda 下载软件 Anaconda下载地址打开终端 xff0c 进入到安装包的存放路径输入命令 xff1a span class token function bash span namexxxxx span class to
  • 快速幂——原理及实现

    这篇文章讲一下快速幂的问题 xff1b 首先问一个简单的问题 xff1a 23是几 xff1f 很简单啊 xff0c 是不是 xff1f 答案是8 xff1b 那么是怎么得来的呢 xff1f 222 61 8 xff1b 连续乘了3次2 x
  • 适合小白的几个入门级Python ocr识别库

    1 pytesseract 2 PaddleOCR 3 easyocr 4 muggle ocr 5 dddd ocr 6 其他 工作生活中经常会遇到需要提取图片中文字信息的情况 xff0c 以前都是手动自己把图片里的字敲出来 xff0c
  • WSL使用中遇到坑

    1 开机启动配置项 在WSL中配置的一些服务如nginx xff0c mysql xff0c ssh等 xff0c 每次开机都会需要手动开启 xff0c 参考网上的开机服务配置都是通过往 etc rc local里面添加启动脚本 xff0c
  • 云服务器Ubuntu(无桌面)安装远程桌面

    如果主机上安装的ubuntu是桌面版 xff0c 打开桌面共享即可使用Windows的远程桌面进行链接 详细参考ubuntu20 10中设置桌面共享的三种方式 任选其一 的第一部分 本文主要说明如何在Ubuntu云服务器上安装远程桌面 一
  • win10解决photoshop打不开问题

    win10 的权限跟win7有些地方不一样 xff0c 对于一直使用win7的人可能很不习惯 xff0c 我在win10上面用photoshop的时候 xff0c 出现打不开photoshop的时候 xff0c 如果你也有类似的情况 xff
  • iOS UIAlertController控件

    UIAlertController取代UIAlertView和UIActionSheet xff0c 用于界面弹出一个警告视图 初始化方法 xff0c UIAlertControllerStyle分为UIAlertControllerSty