Как изменить цвет текста кнопки UIAlertView в iOS7?
iOS7 ввел общий оттенок. Я думаю, что UIAlertView
также находится в допустимом диапазоне, но на самом деле tintColor не работает с UIAlertView
. (для отображаемого цвета текста кнопки)
Можно ли изменить оттенок цвета предупреждения? Если возможно, как его изменить?
Ответы
Ответ 1
К сожалению, вы не можете настроить внешний вид предупреждений, невозможно изменить цвет текста кнопок.
Это четко указано в Ссылка на класс UIAlertView:
Класс UIAlertView предназначен для использования как есть, а не поддержка подкласса. Иерархия представления для этого класса является частной и не должны быть изменены.
Update:
Вопрос был о iOS7, но теперь UIAlertView
устарел, для UIAlertController
вы можете просто изменить цвет оттенка представления:
let alert = UIAlertController(title: "Gimme a break",
message: "For God sake its iOS7 question!",
preferredStyle: .alert)
alert.view.tintColor = UIColor.red
Также полезно проверить этот вопрос: Как изменить цвет текста кнопки UIAlertController в iOS9?
Ответ 2
Предыдущие ответы, в которых упоминается [[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]];
Ответ 3
UIActionSheet
также может изменять цвет кнопок таким образом.
[[UIView appearance] setTintColor:[UIColor redColor]];