example custom bar ios swift uitableview uisearchcontroller

ios - custom - Color de fondo para UISearchController en UITableView



uisearchbar swift 4 example (4)

Tengo una barra de búsqueda SearchController insertada programáticamente en un tableHeaderView de UITableView. Cuando me levanto para ver la barra de búsqueda o actualizar la tabla, obtengo este gris oscuro más raro que puede ver en la siguiente imagen, entre el indicador de actividad de actualización y la barra de búsqueda (este color de fondo persiste incluso cuando quito la actualización). ver):

tableView.tableHeaderView = searchController.searchBar

He intentado cambiar este color de fondo de todas las formas posibles:

tableView.backgroundColor = UIColor.redColor() tableView.tableHeaderView!.backgroundColor = UIColor.redColor() searchController.searchBar.backgroundColor = UIColor.redColor() view.backgroundColor = UIColor.redColor()

Nada funciona. Este gris oscuro no es uno de los colores personalizados que uso en mi proyecto, así que sé que no lo configuré manualmente. Tan pronto como elimino el control de búsqueda, todo funciona igual que antes: el gris oscuro es reemplazado por el gris más claro que se ve en todas partes.


Establezca la vista de fondo de la UITableView en una nueva vista inútil:

self.tableView.backgroundView = [UIView new];

Parece ilógico, pero funciona como un encanto :)


La respuesta correcta de Cameron E en Swift:

tableView.backgroundView = UIView()

Tenga en cuenta que self.tableView.backgroundView = nil no funciona.


Prueba esto:

[searchController.searchBar setBarTintColor:[UIColor blackColor]]; [searchController.searchBar setTintColor:[UIColor whiteColor]];

Espero que esto ayude.


Solo establece una vista vacía como la vista de fondo del UITableView

[self.tableView setBackgroundView:[[UIView alloc] initWithFrame:CGRectZero]];