自 iOS8 起,苹果把 UIActionSheet 和 UIAlertView 合并为了 UIAlertController。 UIAlertController 的用法我之前也写过相关文章: Swift - 告警提示框(UIAlertController)的用法。其默认样式如下:
有网友问这个 UIAlertController 默认的样式能不能修改。虽然 UIAlertController 没有直接提供相关的属性或方法来修改样式,但我们可以通过 KVC 机制(在运行时动态访问和修改对象的属性)来实现。
一、修改标题的字体和颜色
1,效果图
(1)标题抬头颜色改成红色,字号放大( 20) (2)标题内容颜色改成灰色,并使用斜体字。
2,自定义UIAlertController类
为方便使用,我们这里通过继承 UIAlertController 实现一个自定义的类: MyAlertController。并在其 viewDidLoad 方法中动态改变标题样式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
3,使用样例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
二、修改按钮的样式
1,修改按钮颜色
(1)下面我们将按钮的颜色改成橙色。
(2)为方便使用,我们这里通过继承 UIAlertController 实现一个自定义的类: MyAlertController。并在其 addAction 方法中动态改变按钮样式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
2,在按钮上添加图标
(1)下面我们在确定和取消按钮上分别添加相应的图标,同时两个按钮的文字颜色也不一样。
(2)同样,我们在 UIAlertController 的 addAction 方法中动态改变按钮样式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
原文出自: www.hangge.com 转载请保留原文链接: http://www.hangge.com/blog/cache/detail_1658.html