Estoy usando una barra de herramientas en la propiedad inputAccessoryView de un textView. Cuando el teclado muestra, muestra la barra de herramientas como se esperaba. Cuando se gira el dispositivo, quiero eliminar la barra de herramientas. Intenté:Cómo ocultar inputAccessoryView sin ignorar el teclado
myTextView.inputAccessoryView.hidden = !layoutIsPortrait;
Esto esconde la barra de herramientas, pero deja atrás el contorno del teclado más alto. Aparentemente, el teclado todavía está dimensionado para ajustarse a la barra de herramientas. Se ve mal e interfiere con los eventos táctiles de los respondedores subyacentes.
myTextView.inputAccessoryView = nil;
sólo funciona si resignFirstResponder, entonces becomeFirstResponder nuevo. Esto no es aceptable. Pierdo la ubicación del cursor y el contenido de la vista de texto, el teclado parpadea y retrocede.
[myTextView.inputAccessoryView removefromSuperview];
No hace nada. AHORRÉ una referencia a la barra de herramientas en una Ivar y dirigida que en vez,
[myIvarReference removeFromSuperview];
que funciona, pero de nuevo el contorno más alto del teclado es apenas visible. Esta vez no interfiere con toques de otras vistas. Entonces, esta es una solución de trabajo pero visualmente inaceptable. ¿Qué más puedo intentar mostrar y ocultar el inputAccessoryView a voluntad?
Screenshot- la línea débil por encima del teclado es remanente de la barra de herramientas eliminado
¿Te importaría publicar una captura de pantalla de lo que quieres decir con "el contorno del teclado más alto"? Siento que las soluciones que mencionaste deberían funcionar (una al menos), pero no estoy seguro de qué es estéticamente aceptable para ti ... – geraldWilliam
Agregué un acercamiento de la captura de pantalla –
No puedo probarlo ahora pero myTextView.inputAccessoryView.frame = CGRectZero hace lo que estás buscando? – geraldWilliam