iOS7推出了一般的色彩。我认为UIAlertView
也在有效范围内,但实际上tintColor看起来不适用于UIAlertView
。 (对于可点击的按钮文字颜色)
是否可以更改警报视图的色调?如果可能,如何更改?
答案 0 :(得分:27)
遗憾的是,您无法自定义警报视图的外观,因此无法更改按钮文本颜色。
在UIAlertView Class Reference中明确提到:
UIAlertView类旨在按原样使用,但不是 支持子类化。此类的视图层次结构是私有的 不得修改。
<强>更新强>
问题是关于iOS7,但现在不推荐使用UIAlertView
,对于UIAlertController
,您只需更改视图色调颜色:
let alert = UIAlertController(title: "Gimme a break",
message: "For God sake its iOS7 question!",
preferredStyle: .alert)
alert.view.tintColor = UIColor.red
检查此问题也很有帮助:How to change UIAlertController button text colour in iOS9?
答案 1 :(得分:3)
之前提到[[UIView appearance] setTintColor:[UIColor redColor]];
的答案应该有效,但是如果您只想更改UIAlertView
色调颜色,那么此代码的执行方式应该更多。
你可以在iOS上以这种方式瞄准组件&lt; 9 :
[[UIView appearanceWhenContainedIn:[UIAlertView class], nil] setTintColor:[UIColor redColor]];
[[UIView appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor redColor]];
iOS上的&gt; 9 :
[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIAlertView class]]] setTintColor:[UIColor redColor]];
[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIAlertController class]]] setTintColor:[UIColor redColor]];
答案 2 :(得分:2)
UIActionSheet
也可以通过这种方式改变按钮的颜色。
[[UIView appearance] setTintColor:[UIColor redColor]];