Actualmente tengo un UISearchBar (conectado a un UISearchDisplayController), pero reduje el ancho de la barra de búsqueda para poder mostrar un botón personalizado a su derecha cuando la barra de búsqueda no está seleccionada. El botón se usa para acceder a otras vistas.UISearchBar botón de ocultación de animación
Sin embargo, cuando selecciono la barra de búsqueda y presiono cancelar (o incluso realizar una búsqueda) y regreso a la vista normal, donde la barra de búsqueda debe mostrarse con mi botón personalizado, la barra de búsqueda anima y ocupa todo la habitación para el botón y el no se muestra. Esencialmente, la barra de búsqueda ocupa todo el ancho de la pantalla cuando solo quiero que ocupe una parte de ella.
¿Hay alguna manera de evitar que la barra de búsqueda pueda animar a todo el ancho de la pantalla?
Así es como he definido el CGRect de la barra de búsqueda:
self = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 250.0f, 45.0f)]
Saber qué método de delegación de barra de búsqueda usar aquí es la clave. Hay demasiados métodos posibles, en mi humilde opinión. EDITAR: En realidad, configurar el marco en 'searchBarCancelButonClicked' no funciona para mí. Me he resignado a establecer el marco en el método 'searchDisplayControllerDidEndSearch' en su lugar, lo que es molesto, porque se anima a todo el ancho de la pantalla y luego se anima de nuevo al tamaño que quiero. – livingtech
Bueno, mi publicación es un poco vieja, tal vez algo cambió en un año. No puedo verificar si mi código aún funciona. ¡Espero que encuentres una solución pronto! –
@livingtech Tengo su problema exacto. ¿Encontraste alguna solución? Intento encontrar alguna forma de usar UISearchDisplayController, pero creo que tendré que implementar su funcionalidad por mi cuenta, solo por ese error flagrante. – KKendall