uialert objective example ios button uialertcontroller

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.