Подтвердить что ты не робот

Как изменить цвет текста кнопки UIAlertView в iOS7?

iOS7 ввел общий оттенок. Я думаю, что UIAlertView также находится в допустимом диапазоне, но на самом деле tintColor не работает с UIAlertView. (для отображаемого цвета текста кнопки)

Можно ли изменить оттенок цвета предупреждения? Если возможно, как его изменить?

4b9b3361

Ответ 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]];