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?