ios7 uialertview tintcolor

¿Cómo cambiar el color del texto del botón de UIAlertView en iOS7?



tintcolor (3)

iOS7 introdujo tint color general. Creo que UIAlertView también está en el rango válido, pero en realidad tintColor no parece funcionar con UIAlertView . (para el color del texto del botón pulsable)

¿Es posible cambiar el color de tinte de la vista de alerta? Si es posible, ¿cómo cambiarlo?


Desafortunadamente, no puede personalizar la apariencia de las vistas de alerta, es imposible cambiar el color del texto de los botones.

Se menciona claramente en UIAlertView Class Reference :

La clase UIAlertView está diseñada para usarse tal como está y no admite subclases. La jerarquía de vistas para esta clase es privada y no debe modificarse.

Actualizar:

La pregunta era sobre iOS7, pero ahora UIAlertView está en desuso, para UIAlertController simplemente puedes cambiar el color del tinte de la vista:

let alert = UIAlertController(title: "Gimme a break", message: "For God sake its iOS7 question!", preferredStyle: .alert) alert.view.tintColor = UIColor.red

También es útil revisar esta pregunta: ¿Cómo cambiar el color del texto del botón UIAlertController en iOS9?


Las respuestas anteriores mencionan [[UIView appearance] setTintColor:[UIColor redColor]]; debería funcionar, pero este código está haciendo mucho más de lo que debería si desea cambiar solo el color del tinte UIAlertView .

Puede apuntar el componente de esta manera en iOS <9 :

[[UIView appearanceWhenContainedIn:[UIAlertView class], nil] setTintColor:[UIColor redColor]]; [[UIView appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor redColor]];

Y en iOS> 9 :

[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIAlertView class]]] setTintColor:[UIColor redColor]]; [[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIAlertController class]]] setTintColor:[UIColor redColor]];


UIActionSheet también puede cambiar el color de los botones de esta manera.

[[UIView appearance] setTintColor:[UIColor redColor]];