2009-06-18 11 views
11

¿Hay alguna forma de modificar o crear su propio teclado del iPhone para que pueda escribir en idiomas no compatibles?Personalización del teclado del iPhone

+2

En realidad, esto es posible. La respuesta que aceptaste es *** NO *** correcta. Eche un vistazo a la respuesta de @Anomies, así es como puede implementar un teclado personalizado. – RyanR

+0

@RyanR: la respuesta aceptada fue correcta en 2009; iOS 3.0 acaba de ser lanzado cuando la pregunta fue hecha y respondida. Mi respuesta requiere iOS 3.2. No estoy seguro de por qué Alok publicó una recompensa por una pregunta tan antigua. – Anomie

Respuesta

13

puede crear su propio teclado, pero en realidad usarlo es más difícil.

para crearlo:

  1. crear la vista del teclado. Puede usar las subvistas que desee. La forma más útil de hacerlo es, probablemente, crear una subclase UIView.
  2. Haga arreglos para que una instancia de la vista de teclado sea devuelta por cualquier propiedad de UIResponder inputView. Para UITextView y UITextField, esto es tan simple como asignar la propiedad; para otras clases, es probable que deba subclasificar o cambiar los accesos ya que la propiedad se declara de solo lectura por defecto.

Más detalles al respecto están disponibles en the documentation.

Lamentablemente, en realidad usando este teclado personalizado es más difícil. A partir de iOS 4.3, ni UITextField ni UITextView cumplen con el UITextInput protocol, que sería ideal para este fin. Para UITextView, debe poder hacer que funcione utilizando los métodos proporcionados por la clase, pero dado que UITextField no proporciona ninguna forma de encontrar la posición actual de la selección o el cursor, no podrá crear un teclado completamente funcional utilizando públicamente -los métodos documentados (append y delete-from-end son posibles, e incluso inserting at the current position by manipulating the clipboard, pero un botón "borrar carácter anterior" como el del teclado estándar resultará imposible).

A partir de iOS 5.0, UITextField y UITextView finalmente implementan el protocolo UITextInput. Ahora debería ser una cuestión sencilla insertar y eliminar texto en la posición del cursor.

6

No, actualmente no hay forma de hacerlo.

Existen algunas formas extravagantes de agregar su propio botón mediante la adición de SubViews. Pero no es compatible y podría fallar en cualquier momento.

Si ha decidido crear uno propio, probablemente tenga que pasar su propio control de cuadro de texto y cualquier otro control que necesite un teclado. En otras palabras, no es realmente una opción ideal.

Cuestiones relacionadas