ios学习——uialertcontroller详解

iOS学习——UIAlertController详解

在iOS开发中,弹窗是必不可少的一个组件。UIAlertController是iOS 8之后引入的一个更加强大和灵活的弹窗组件,取代了之前的UIAlertView和UIActionSheet。本文将详细介绍UIAlertController的用法和相关属性。

UIAlertController的类型

UIAlertController可以创建两种类型的弹窗:带有一个或多个按钮的警告框(UIAlertControllerStyleAlert),或者包含多个选项的操作表(UIAlertControllerStyleActionSheet)。

UIAlertControllerStyleAlert

UIAlertControllerStyleAlert使用较为广泛,一般用于提示用户发生的错误、需要用户确认的操作等。

示例代码:

let alert = UIAlertController(title: "警告", message: "您输入的内容有误!", preferredStyle: .alert)

let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let confirmAction = UIAlertAction(title: "确定", style: .default, handler: { (action) in
    //确认操作
})

alert.addAction(cancelAction)
alert.addAction(confirmAction)

self.present(alert, animated: true, completion: nil)

以上代码创建了一个标题为"警告",内容为"您输入的内容有误!"的警告框,并添加取消和确认两个按钮。当用户点击确认按钮时,触发闭包中的代码进行确认操作。

UIAlertControllerStyleAlert还有一个特殊的属性preferredAction,表示首选的操作按钮。如果设置了该属性,UIAlertController会自动将此按钮显示为加粗状态。

示例代码:

let alert = UIAlertController(title: "警告", message: "您将要删除该文件!", preferredStyle: .alert)

let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let deleteAction = UIAlertAction(title: "删除", style: .destructive, handler: nil)

alert.addAction(cancelAction)
alert.addAction(deleteAction)

alert.preferredAction = deleteAction

self.present(alert, animated: true, completion: nil)

以上代码创建了一个标题为"警告",内容为"您将要删除该文件!"的警告框,并添加取消和删除两个按钮。设置preferredAction为删除按钮,使其成为首选操作按钮。当用户按下回车键时,UIAlertController会自动执行首选的操作。

UIAlertControllerStyleActionSheet

UIAlertControllerStyleActionSheet用于显示多个选项,一般用于带有多种操作的场景。

示例代码:

let alert = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)

let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let takePhotoAction = UIAlertAction(title: "拍照", style: .default) { (action) in
    //拍照操作
}
let choosePhotoAction = UIAlertAction(title: "从相册选择", style: .default) { (action) in
    //选择相片操作
}

alert.addAction(cancelAction)
alert.addAction(takePhotoAction)
alert.addAction(choosePhotoAction)

self.present(alert, animated: true, completion: nil)

以上代码展示了一个包含"拍照"、"从相册选择"和"取消"三个选项的操作表,分别触发不同的操作。

UIAlertController的属性

除了创建弹窗之外,UIAlertController还有一些属性可以调整弹窗的样式和行为。

title和message

title和message分别表示UIAlertController的标题和内容。两者都可为空。

示例代码:

let alert = UIAlertController(title: "提示", message: "您已成功购买", preferredStyle: .alert)

let confirmAction = UIAlertAction(title: "确定", style: .default, handler: nil)

alert.addAction(confirmAction)

self.present(alert, animated: true, completion: nil)

以上代码展示了一个标题为"提示",内容为"您已成功购买"的警告框。

addTextField

addTextField方法创建一个文本输入框,可以用于输入用户名、密码等信息。

示例代码:

let alert = UIAlertController(title: "登录", message: "请输入用户名和密码", preferredStyle: .alert)

alert.addTextField { (textField) in
    textField.placeholder = "用户名"
}
alert.addTextField { (textField) in
    textField.placeholder = "密码"
    textField.isSecureTextEntry = true
}

let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let loginAction = UIAlertAction(title: "登录", style: .default) { (action) in
    let username = alert.textFields?[0].text
    let password = alert.textFields?[1].text
    //在这里填写登录操作的代码
}

alert.addAction(cancelAction)
alert.addAction(loginAction)

self.present(alert, animated: true, completion: nil)

以上代码演示了如何创建一个带有用户名和密码输入框的警告框,并在用户点击登录按钮时获取输入框中的值。

preferredStyle

preferredStyle属性表示UIAlertController的样式,取值为UIAlertControllerStyleAlert或UIAlertControllerStyleActionSheet。

示例代码:

let alert = UIAlertController(title: "警告", message: "您输入的内容有误!", preferredStyle: .alert)

let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let confirmAction = UIAlertAction(title: "确定", style: .default, handler: { (action) in
    //确认操作
})

alert.addAction(cancelAction)
alert.addAction(confirmAction)

self.present(alert, animated: true, completion: nil)

以上代码使用UIAlertControllerStyleAlert创建了一个警告框。

总结

本文介绍了UIAlertController的用法和常用属性,从而帮助开发者在iOS应用中使用弹窗组件。UIAlertController是一个强大和灵活的组件,可以满足多种弹窗需求,开发者可以根据自己的需要做出相应的调整。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ios学习——uialertcontroller详解 - Python技术站

(0)
上一篇 2023年3月29日
下一篇 2023年3月29日

相关文章

  • 详解CentOS重启后resolv.conf被重置的解决方案

    以下是详解CentOS重启后resolv.conf被重置的解决方案的完整攻略。 问题描述 在CentOS系统中,有时在重启后会发现resolv.conf文件被重置,导致DNS设置失效。这是由于resolv.conf文件是由dhclient服务写入的,该服务会将DNS设置存储在/var/lib/dhclient/dhclient-$interface.leas…

    other 2023年6月27日
    00
  • Android获取手机系统版本等信息的方法

    Android获取手机系统版本等信息的方法攻略 在Android开发中,我们经常需要获取手机的系统版本等信息。下面是一份详细的攻略,介绍了如何获取手机系统版本等信息的方法。 方法一:使用Build类 Android提供了Build类,可以方便地获取手机的系统版本等信息。以下是使用Build类获取手机系统版本的示例代码: String versionRelea…

    other 2023年8月3日
    00
  • 关于tp90tp99等常用于评估软件系统的处理性能的指标概念

    当然,我可以为您提供有关“关于tp90、tp99等常用于评估软件系统的处理性能的指标概念”的完整攻略,以下是详细说明: 什么是tp90、tp99等指标? 在软件系统的性能评估中,通常使用一指标来衡量系统的处理性能。其中,tp90、tp99等指标是常用的性能指标之一。 tp90:表示系统处理请求的90%的时间。 tp99:表示系统处理请求的99%的时间。 这些…

    other 2023年5月7日
    00
  • 漏洞复现-CVE-2016-4437-Shiro反序列化

    漏洞复现-CVE-2016-4437-Shiro反序列化的完整攻略 简介 Apache Shiro是一个Java安全框架,提供了身份验证、授权、加密和会话管理等功能。CVE-2016-4437是Shiro框架中的一个反序列化漏洞,攻击者可以利用该漏洞在目标系统上执行任意代码。 漏洞复现 环境搭建 首先需要搭建一个漏洞环境,可以使用Shiro的一个漏洞环境搭建…

    other 2023年5月5日
    00
  • 如何降级cuda版本

    以下是关于如何降级CUDA版本的完整攻略,包括基本知识和两个示例说明。 基本知识 在降级CUDA版本之前,您需要了解以下基本知识: CUDA Toolkit:CUDA Toolkit是一个用于开发和优化CUDA应用程序的软件包,其中包括CUDA驱动程序和CUDA运行时库。 CUDA驱动程序:CUDA驱动程序是一个用于与GPU通信的软件组件它负责管理GPU的硬…

    other 2023年5月7日
    00
  • 如何为电脑指定ip地址?(固定ip地址,dns)

    如何为电脑指定IP地址?(固定IP地址,DNS) 在计算机网络中,为电脑指定固定的IP地址可以提供更稳定和可靠的网络连接。下面是一个详细的攻略,教你如何为电脑指定IP地址并配置DNS。 步骤一:打开网络设置 首先,打开电脑的网络设置。具体的步骤可能因操作系统的不同而有所差异,但通常可以在任务栏或系统设置中找到网络设置选项。 步骤二:选择网络连接 在网络设置中…

    other 2023年7月30日
    00
  • win11系统正式版怎么下载 win11正式版下载地址分享

    Win11系统正式版下载攻略 Win11系统正式版已经发布,以下是下载Win11系统正式版的详细攻略。 步骤一:检查系统要求 在下载Win11系统正式版之前,首先要确保你的计算机符合以下最低系统要求: 处理器:64位处理器,至少为1 GHz的时钟速度,双核心以上 内存:至少4 GB RAM 存储空间:至少64 GB的存储空间 显卡:兼容DirectX 12或…

    other 2023年8月3日
    00
  • 极速上手 120个Photoshop技巧帮助您设计加速

    标题:极速上手120个Photoshop技巧帮助您设计加速——完整攻略 简介 Photoshop是设计师必备的工具,但有时候不得不面对繁琐的操作与复杂的设计需求。本篇攻略收集了120个Photoshop技巧,可以帮助您更加高效地完成设计工作,省去许多繁琐的步骤,让您的设计工作变得更加简单。 第一部分:增加工作效率 在设计中,提高工作效率可以帮助您更快地完成作…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部