¿Cómo cambio el ancho de UISearchBar cuando está dentro de un encabezado de tabla para que el índice de sección no se superponga al campo de texto? Quiero recrear el mismo diseño que encuentras en la vista de contactos de la aplicación del teléfono.UISearchBar Sección de tabla Índice Títulos Superposición
Respuesta
Una posible solución es agregar una vista personalizada a tableHeaderView. Esto es lo que hice:
searchBar es un UISearchBar que declare en el archivo de encabezado. Creé un UIView y agregué un UINavigationBar para todo el ancho y agregué el corto UISearchBar encima. Luego, finalmente asigné el UIView a tableHeaderView.
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 290.0, 44.0)];
UIView *customTableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
UINavigationBar *dummyNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
[customTableHeaderView addSubview:dummyNavigationBar];
[customTableHeaderView addSubview:searchBar];
[dummyNavigationBar release];
self.tableView.tableHeaderView = customTableHeaderView;
[customTableHeaderView release];
Una solución más elegante puede ser estirar el UISearchBar utilizando la propiedad contentStretch. Todavía tengo que probar eso y verificar si funciona.
Si utiliza un UISearchDisplayController, el comportamiento deseado funcionará automágicamente como se indica en this answer.
¿Quiere decir que la A-Z de las letras índice en el lado derecho de la pantalla invaden la barra de búsqueda, como se ve en esta captura de pantalla donde aparecen 'A' y 'B' en el borde derecho de la barra de búsqueda?
(a) no puedo encontrar alguna manera de evitar este problema alfabeto-invadido. El enfoque vinculado por la respuesta de Scott McCammon aquí está prohibido por Apple (y aun así no estoy seguro de que resuelva este problema).
(b) Veo este comportamiento en las aplicaciones de contactos de Apple en iOS 6.0.1 en mi iPod touch (4ª generación).
(c) Supongo lógicamente que es una característica, no un error, ya que la barra de búsqueda está en el encabezado de la vista de tabla. El encabezado es parte de la vista de tabla y se desplaza como parte de la vista de tabla, por lo que quizás tenga sentido que se dibuje el alfabeto de índice como lo hace sobre el resto de la vista de tabla.
Este problema se convierte en un problema cuando tiene botones de alcance. No hay espacio reservado a la derecha para los botones de alcance, de modo que el alfabeto de índice se dibuja justo sobre el botón de más a la derecha.
- 1. iPhone UITableView con UISearchBar y el refrescante índice de sección
- 2. ¿Cómo simulo varios títulos de tabla?
- 3. estructura HTML5 y títulos en la sección o artículo
- 4. UITableView sección índice se superpone a la barra de búsqueda
- 5. UISearchBar No aparece
- 6. ¿Los títulos de la tabla LaTeX tienen el mismo ancho que la tabla?
- 7. Creando babosas de títulos?
- 8. UISearchBar Sample Code
- 9. Impedir texto de la tabla de superposición td width
- 10. UISearchBar Animation
- 11. deslizamiento UISearchBar
- 12. Deshabilitar UISearchBar
- 13. Adición de índice para una tabla
- 14. Índice en el espacio de tabla
- 15. títulos multipaneles en I
- 16. Columna UIPickerView Títulos
- 17. UIPickerView muestra títulos incorrectos
- 18. ¿Cómo actualizar mi UITableView con UISearchBar después de hacer clic en el botón Cancelar de UISearchBar?
- 19. látex Tabla de Contenidos Enlaces a la sección incorrecto
- 20. látex: Las citas en los encabezados de sección ponen en la tabla de contenido primeros
- 21. Crear índice en la tabla existente Oracle
- 22. Seleccionar tabla con la columna denominada "índice"
- 23. superposición CSS div
- 24. UISearchBAR scopeBar tintColor
- 25. UISearchBar teñido como Contactos
- 26. iPhone UISearchBar y keyboardAppearance
- 27. Restablecer UISearchbar programmatically
- 28. UISearchBar en UITableViewController?
- 29. UISearchBar y resignFirstResponder
- 30. UISearchBar Sin cambiar
Configuración ** contentStretch ** no funcionó para mí. – Sney
@Snej hmm ... entonces esta es la única solución que conozco ... gracias por informarme :) – srik
También funciona en un guión gráfico. –