example bar objective-c iphone uiviewcontroller uisearchbar first-responder

objective c - example - Hacer UISearchBar primer respondedor cuando ver cargas



search bar swift 4 (1)

Mueve esto a -viewDidAppear y debería estar bien. -becomeFirstResponder levanta el teclado (como se nota), y no debes hacer animaciones antes de que estés en pantalla. Puedes obtener interacciones extrañas.

Si no está haciendo nada, es casi seguro que productSearchBar es un IBOutlet y se ha olvidado de vincularlo a la UISearchBar en Interface Builder. Esta es la razón # 1 para que "no pase nada" en la interfaz de usuario.

Tenga en cuenta que no debe acceder a sus archivos iv de esta manera; debe convertirlo en una propiedad y referirse solo a self.productSearchBar . Apple finalmente ha publicado una explicación correcta de esto en su Gestión de memoria de objetos Nib . Nunca acceda a sus ivars fuera de un accessor o -dealloc . Esta regla te ahorrará muchas horas de depuración.

Tengo un UIViewController simple y una UISearchBar , cuando la vista se carga, quiero que la barra de búsqueda se convierta en el primer respondedor de inmediato para que se muestre el teclado y puedan comenzar a escribir su consulta de inmediato. Intenté hacerlo en viewWillAppear como abajo sin ninguna suerte:

- (void)viewWillAppear:(BOOL)animated { [productSearchBar becomeFirstResponder]; [super viewWillAppear:animated]; }

¿Hay otro lugar en el que debería estar llamando becomeFirstResponder en la UISearchBar o debo llamar a otra cosa por completo?