UIAlertController的外观

时间:2018-12-13 21:54:31

标签: ios uialertcontroller uiappearance

我想使用外观设置我的AlertController在应用程序中的外观样式。 它适用于背景和按钮,但是无论我如何尝试,标题和消息的标签始终保持黑色。

这是我在做什么:

UIView.appearance(whenContainedInInstancesOf: [UIAlertController.self]).tintColor = .orange
UIVisualEffectView.appearance(whenContainedInInstancesOf: [UIAlertController.self]).effect = UIBlurEffect(style: .dark)
UILabel.appearance(whenContainedInInstancesOf: [UIAlertController.self]).textColor = .white

这是我得到的结果:

enter image description here

有什么想法,如何设置标题和消息的颜色,或者为什么在这种情况下不能更改UILabel的外观?

1 个答案:

答案 0 :(得分:2)

最简单的方法是:不要。

绝对不需要您局限于UIAlertController的使用及其简单的默认视图外观和内容。毕竟,它不过是一个呈现的视图控制器。这意味着可以编写自己的呈现的视图控制器,其外观和行为几乎类似于UIAlertController及其视图,但现在您完全负责其内容!

编写自己的类似警报的呈现视图控制器比尝试侵入UIAlertController的视图要好得多,容易得多,也更可靠。前者完全合法,而后者除了不可靠之外,还可以阻止您的应用进入App Store。