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。 –