Problemas de UITextField en iOS 5 al cambiar UITextFieldBorderStyle en time de ejecución

De repente estoy teniendo problemas con algunos UITextFields ahora que estoy probando en dispositivos iOS 5, a pesar de que construí la aplicación en el SDK de iOS 5 y ya dejé que se resuelva el error para lanzarlo.

Tengo un campo de text que permite la input, y cuando presionas un button de "locking", llama:

textField.enabled = NO; textField.borderStyle = UITextBorderStyleNone; 

El campo "oculta" pero aún actúa como una label: function importante para la aplicación.

Luego presiona el button "bloquear" nuevamente y llama:

 textField.enabled = YES; textField.borderStyle = UITextBorderStyleRoundedRect; 

Esto funciona perfectamente en 4.2 / 4.3 pero en iOS 5 lo único que aparece es el contorno biselado del campo de text sin color de background blanco.

La configuration de .backgroundColor lo soluciona en iOS 5 pero marca un cuadrado blanco feo en 4.2 / 4.3.

No vi nada acerca de estos cambios en el documento de diferencias de la API, ¿qué me falta aquí? Gracias por adelantado..

Solutions Collecting From Web of "Problemas de UITextField en iOS 5 al cambiar UITextFieldBorderStyle en time de ejecución"

Si está bien con el background blanco, arreglé este comentario de la línea que especifica un color de background y la configuration de la propiedad opaca a NO

 //[myTextField setBackgroundColor:[UIColor whiteColor]]; [myTextField setOpaque:NO]; 

Esto ha resuelto el problema tanto para iOS 4.3 como para iOS 5.0

-Alex

userInteractionEnabled es una propiedad de la class UIView mucho más general y, como tal, puede no comportarse como esperaba con subclasss de UIControl , como UITextField . En su lugar, debe establecer la propiedad enabled en NO para deshabilitar temporalmente un control, que en el caso de UITextField haría exactamente lo que desea.

Una solución posible es establecer alpha a 0.00001 . Eso le otorga tags efectivamente ocultas que aún pueden responder a events de control.

Estoy teniendo un problema similar, y UITextBorderStyleNone funcionaba bien en iOS 4.3, pero en iOS 5 dejó de funcionar. Creo que este es un error de Apple, porque no funciona tanto en el dispositivo como en el simulador. Creo que tu mejor oportunidad aquí es cambiar entre la label y el campo de text según sea necesario como darvids0n sugiere hasta que Apple resuelva el error.