ios - objective - uialertcontroller swift 4
El botón en negrita iOS UIAlertController cambió en 8.3 (3)
UIAlertController con dos botones con conjunto de estilos:
UIAlertActionStyle.Cancel
UIAlertActionStyle.Default
en iOS 8.2, el botón Cancelar no es negrita y el valor predeterminado es negrita. En iOS 8.3 han cambiado
Puedes verlo en las propias aplicaciones de Apple, por ejemplo, Configuración> Correo> Agregar cuenta> iCloud> ingresa datos inválidos, luego se muestra así en 8.3:
ID de Apple no admitido
Más información (negrita) OK (no negrita)
mientras que fue al revés para 8.2.
Cualquier solución alternativa para que sea 8.2 nuevamente. ¿Por qué ha cambiado?
Acabo de registrar en iOS 8.2: un primer botón agregado no es negrita y un segundo botón agregado está en negrita. Con este código, un botón cancelar estará en negrita:
[alertController addAction:[UIAlertAction actionWithTitle:@"Ok"
style:UIAlertActionStyleDefault
handler:nil]];
[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel
handler:nil]];
Y con este código, un botón predeterminado estará en negrita:
[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel
handler:nil]];
[alertController addAction:[UIAlertAction actionWithTitle:@"Ok"
style:UIAlertActionStyleDefault
handler:nil]];
No puedo verificar en iOS 8.3 ahora, pero este comportamiento puede ser un motivo.
Desde iOS 9, puede establecer el valor de Acción preferredAction
en la acción que desea que el título del botón esté en negrita.
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
let OKAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
alert.addAction(cancelAction)
alert.addAction(OKAction)
alert.preferredAction = OKAction
presentViewController(alert, animated: true) {}
El botón Aceptar que está a la derecha estará en negrita.
Este es un cambio intencional al SDK. Acabo de recibir una respuesta de Apple a este radar sobre el problema, indicando que:
Este es un cambio intencional: el botón de cancelar debe estar en negrita en las alertas.
No puedo encontrar nada en los diversos registros de cambios mencionando esto, desafortunadamente.
Por lo tanto, tendremos que hacer cambios en nuestras aplicaciones en lugares para que algunas cosas tengan sentido.