2010-04-16 13 views
5

Tengo un requisito en el que tengo un campo de texto en una vista. Cuando quiero abrir la vista cambiando la pestaña (Aplicación TabBased), la primera vez que se carga la vista aparece el teclado porque se llama al método loadview. Pero cuando cambio a tab2 y vuelvo a cambiar a tab1, no se llama a load view. Quiero que el teclado aparezca cada vez que abro la página de tab1.¿Cómo abrir la vista con el teclado que aparece cuando la vista ya está cargada?

Respuesta

10

Uso -viewWillAppear: en su controlador de vista para enviar su campo de texto un mensaje -becomeFirstResponder, por ejemplo:

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [myTextField becomeFirstResponder]; 
} 
+0

he hecho lo mismo ... Pero el método viewWillAppear no es llamado todo ...... Aquí está el código - (void) viewWillAppear: (BOOL) animado { [super viewWillAppear: animated]; \t [searchForProduct becomeFirstResponder]; } Por favor, ayuda –

+1

Tu código debería funcionar, suponiendo que todos los objetos están instanciados y conectados. Intente agregar una declaración 'NSLog' para verificar que se llame a' -viewWillAppear: '. También asegúrese de que 'searchForProduct' no sea' nil' y/o que esté conectado correctamente si está utilizando Interface Builder para su vista. –

+0

searchForProduct no se ha liberado .. Contiene la asignación de memoria ... El problema es que nunca se llama al métodoWillAppear ... –

Cuestiones relacionadas