如何在iOS7中更改UIAlertView的按钮文字颜色?

时间:2013-10-05 02:34:43

标签: ios7 uialertview tintcolor

iOS7推出了一般的色彩。我认为UIAlertView也在有效范围内,但实际上tintColor看起来不适用于UIAlertView。 (对于可点击的按钮文字颜色)

是否可以更改警报视图的色调?如果可能,如何更改?

3 个答案:

答案 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]];