tamaño - ¿Alguien ha encontrado una buena forma de utilizar los nuevos eventos de teclado iOS5?
teclado iphone descargar (1)
Durante el desarrollo de una función reciente para mi aplicación para iPad, me di cuenta de que el nuevo comportamiento de acoplamiento / división del teclado iOS5 estaba causando grandes problemas. Utilizo InputAccessoryView para el teclado con un campo de texto similar al de la función de búsqueda en la página de Safari. Expongo el teclado sobre un UIWebView desplazable, por lo que parte de mis problemas provienen de una vista UIWeb encogida cuando el teclado está acoplado y tener una vista web (en su mayoría) de pantalla completa cuando está desacoplado.
Los principales problemas que he encontrado con la API son que las nuevas notificaciones UIKeyboardWillChangeFrameNotification y UIKeyboardDidChangeFrameNotification son un paso atrás de la API anterior en el mejor de los casos, y tienen datos basura que hacen que sea casi imposible entender lo que el teclado realmente está haciendo en muchos casos.
¿Se puede reconocer cualquiera de los siguientes comportamientos de teclado sin examinar arduo los marcos de inicio / final que vuelven a aparecer en las notificaciones?
- Undocks de teclado
- Docks de teclado
- Teclado Splits / Unspits
- Espectáculos de teclado desacoplados
- Pieles de teclado desacopladas
- La vista gira mientras el teclado está desacoplado
He descubierto algunas abstracciones para reconocer marcos acoplados o fuera de pantalla, pero incluso con eso, mi código se está volviendo muy inmanejable. Si ha encontrado mejores formas de hacerlo, responda o comente. Espero que me esté perdiendo algo aquí. Gracias.
La cuestión es no pensar demasiado en esto. Nada de importancia ha cambiado. Si el teclado entra en la posición de acoplamiento en la parte inferior de la pantalla, recibirá una notificación de "show". Si sale de la posición acoplada en la parte inferior de la pantalla, recibirá una notificación de "oculto". Eso es exactamente lo que sucedió antes de iOS 5.
La única diferencia es que, en lugar de abandonar la posición atracada porque se está moviendo fuera de pantalla, podría estar abandonando la posición atracada porque el usuario la desacopló. Todavía obtendrá un "hide", por lo que puede mover su interfaz a su posición base. No necesita saber que el teclado está ahora desacoplado (aunque puede descubrir que no está fuera de pantalla de UIKeyboardDidChangeFrameNotification si realmente lo desea). La razón por la que no necesita saber es que cuando el teclado está desacoplado / dividido, el usuario puede ser proactivo y mover el teclado si está en el camino de algo que necesita ser visto.
Por lo tanto, todo su código anterior antes de iOS 5 continúa funcionando bien. Todo es realmente bastante inteligente ...