2010-08-28 29 views
6

Tengo una pantalla muy simple con un UITextField con la configuración predeterminada, nada especial.

Cuando toco el UITextField, el teclado no aparece.

No tengo ningún control personalizado, comportamiento o cualquier otra cosa, solo eso, pero no funciona.

He hecho esto en las aplicaciones anteriores de iPhone/iPad que ya están en la AppStore, pero no puedo entender qué está pasando mal aquí.El teclado UITextField no aparece

El UITextField se crea en Interface Builder, en el archivo de punta.
He estado investigando un poco y agregué un IBAction en UIViewController para el evento UItextField TouchDown y IBOutlet para UITexField.
En la primera línea del código añadí:

[textFild becomeFirstResponder]; 

Ese es el comportamiento por defecto de la UITextField, cuando la toca, se convierte en el primer nivel de respuesta que pide el sistema para mostrar el teclado.
Lo depuré y ejecuta esa línea, pero el teclado aún no aparece.
Gracias de antemano.

+0

¿Cómo creó esta UITextField? – hotpaw2

+0

sería bueno si publica el código para crear el uitextfield – vodkhang

Respuesta

1

¡Ya lo he descubierto! Tenía UITextField en un UIViewController que se presenta desde otro controlador de vista que responde a eventos de movimiento, y que el Controlador de vista anterior siempre fue el Primer Respondedor. Todo lo que tenía que hacer era cada vez que dejo la vista del controlador a la vista WillDisappear: (BOOL) animado, llamé [self resignFirstResponder]; y eso fue todo.

6

Una cosa que usted debe comprobar es asegurarse de que la vista que contiene (el UIView que contiene todos los controles), que es el icono Ver en el visor de Interface Builder punta, tiene Interacción usuario habilitado marcada. Si el contenedor principal no tiene esta opción marcada, incluso si los controles individuales lo hacen, verá este comportamiento.

2

Muchas veces su código es correcto, es solo la configuración de su Xcode o el simulador.

Prueba a activar el teclado de software en el simulador

Simulator --> Hardware --> Keyboard --> Toggle Software Keyboard

o simplemente golpear Command + K que haría lo mismo

Cuestiones relacionadas