Color de background para UISearchController en UITableView

Tengo una barra de búsqueda del SearchController insertada programáticamente en un tableHeaderView de UITableView. Cuando levanto para ver la barra de búsqueda o actualizar la tabla, obtengo este gris más oscuro extraño que puedes ver en la siguiente image, entre el indicador de actividad de actualización y la barra de búsqueda (este color de background persiste incluso cuando elimino la actualización ver):

introduzca la descripción de la imagen aquí

tableView.tableHeaderView = searchController.searchBar 

He intentado cambiar este color de background en todos los sentidos que pueda imaginar:

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

Nada funciona. Este gris oscuro no es uno de los colors personalizados que uso en mi proyecto, así que sé que no lo configuré manualmente. Tan pronto como elimino el searchController todo funciona igual que antes: ese gris oscuro se reemplaza por el gris más claro visto en cualquier otro lugar.

Establezca ViewView de UITableView en una nueva vista inútil:

  self.tableView.backgroundView = [UIView new]; 

Parece ilógico, pero funciona como un encanto 🙂

Prueba esto:

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

Espero que esto ayude.

La respuesta correcta de Cameron E en Swift:

tableView.backgroundView = UIView()

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

Simplemente establezca una vista vacía como vista de background de UITableView

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