前言介绍
告警提示框(消息提示框)在 App 开发中肯定少不了,除了简单地用来显示提示信息外,有时也会作为一些具有交互功能的选择对话框、输入对话框。通常情况下,我们会使用 iOS 自带的 UIAlertController 组件来实现。
虽然 UIAlertController 使用方便,但样式、功能都有限。本文介绍一个优秀的第三方 Alert 组件:SCLAlertView。
安装配置
(1)从 GitHub 上下载最新的代码:https://github.com/vikmeup/SCLAlertView-Swift
(2)将下载下来的源码包中 SCLAlertView.xcodeproj 拖拽至你的工程中。
(3)工程 -> General -> Embedded Binaries 项,把 SCLAlertView.framework 添加进来。
(4)最后,在需要使用 SCLAlertView 的地方 import 进来就可以了。
基本用法
简单的使用样例 1
(1)效果图
点击按钮后在页面上弹出个普通的消息提示框。
(2)样例代码
简单的使用样例 2
除了上面用到的普通消息提示框,SCLAlertView 默认提供如下 7 种不同类别的提示框(分别用不同的颜色和图标表示),我们可以根据不同的场景和通知类型选择相应的样式。
效果图如下:
修改关闭按钮文字
默认情况下,消息框下方的完成(关闭)按钮的标题是“Done”,我们可以通过方法第 3 个参数(closeButtonTitle)修改成其它的。
原始的消息弹出方法(showTitle)
不管是 showInfo() 也好,showError() 也好,它们内部实际上调用的都是 showTitle() 方法。只不过在它们内部通过传递不同的图片和颜色,从而显示出不同的样式。
(1)我们也可以直接使用 showTitle() 显示一个自定义的弹出框,代码如下:
(2)效果图如下:
动态修改提示框内容
提示框弹出后,我们可以通过其返回的 SCLAlertViewResponder 对象来修改提示框内部的标题以及正文内容。
//显示等待提示框
let alertViewResponder = SCLAlertView().showWait("这个是标题", subTitle: "这个是正文内容。")
使用代码关闭提示框
提示框弹出后,除了通过点击提示框上的按钮来关闭提示框外。我们还可以在代码中通过其返回的 SCLAlertViewResponder 对象的 close() 方法对其关闭。
高级用法
修改字体样式
下面我们通过自定义外观样式(放大标题文字,缩小正文文字、按钮文字加粗)来实现一个自定义的提示框组件并使用。
隐藏关闭按钮
等待一段时间自动关闭提示框
这个常常与上面的隐藏关闭按钮相结合使用,比如提示用户操作成功,但不需要用户手动去关闭这个提示框,它显示个 3 秒钟会自动消失。
添加多个按钮
隐藏头部图标
修改头部图标
下面将提示框头部的图标替换成一个邮件图片。
添加文本输入框
下面样例中我们在提示框内部添加两个文本输入框,分别用来填写用户名和密码。当点击“确定”按钮后,会将填写的内容打印到控制台上。
2 条评论
结论升华部分可联系更高维度价值观。
反驳对手观点时需更注重逻辑严密性。