iOS7引入了一般的色调。我认为UIAlertView
也在有效范围内,但实际上tintColor看起来不适用于UIAlertView
。 (用于可点按钮文字颜色)如何更改iOS7中UIAlertView的按钮文字颜色?
是否可以更改警报视图的色调?如果可能的话,如何改变它?
iOS7引入了一般的色调。我认为UIAlertView
也在有效范围内,但实际上tintColor看起来不适用于UIAlertView
。 (用于可点按钮文字颜色)如何更改iOS7中UIAlertView的按钮文字颜色?
是否可以更改警报视图的色调?如果可能的话,如何改变它?
不幸的是,您无法自定义警报视图的外观,因此无法更改按钮的文本颜色。
它在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?
以前的答案提[[UIView appearance] setTintColor:[UIColor redColor]];
应该工作,但如果应该,如果你想只改变UIAlertView
浅颜色这段代码是做多方式多。
可以瞄准组件这样iOS上< 9:
[[UIView appearanceWhenContainedIn:[UIAlertView class], nil] setTintColor:[UIColor redColor]];
[[UIView appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor redColor]];
而且在iOS> 9:
[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIAlertView class]]] setTintColor:[UIColor redColor]];
[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIAlertController class]]] setTintColor:[UIColor redColor]];
它也在使用ios 10。 – bittu
@bittu thx我编辑了我的帖子以指定> iOS9 –
尝试参见[PMAlertController](https://开头github.com/Codeido/PMAlertController)一个小型库,它允许你用一个美丽且完全可定制的警报来替代Apple不可定制的UIAlertController。 –