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?