SearchControllerの検索バーをプログラムでUITableViewのtableHeaderViewに挿入しています。プルアップして検索バーを表示したり、テーブルを更新したりすると、次の図に示すように、リフレッシュアクティビティインジケーターと検索バーの間にあるこの奇妙な濃い灰色が表示されます(この背景色は、リフレッシュを削除しても消えません)見る):
tableView.tableHeaderView = searchController.searchBar
私は考えられるあらゆる方法でこの背景色を変更しようとしました:
tableView.backgroundColor = UIColor.redColor()
tableView.tableHeaderView!.backgroundColor = UIColor.redColor()
searchController.searchBar.backgroundColor = UIColor.redColor()
view.backgroundColor = UIColor.redColor()
何も動作しません。このダークグレーは、プロジェクトで使用するカスタムカラーの1つではないため、手動で設定しなかったことがわかります。 searchControllerを取り出すとすぐに、すべてが以前と同じように機能します。その濃い灰色は、他の場所で見られる明るい灰色に置き換えられます。
UITableViewのbackgroundViewを新しい役に立たないビューに設定します。
self.tableView.backgroundView = [UIView new];
非論理的なようですが、魅力のように機能します:)
SwiftでのキャメロンEの正解:
tableView.backgroundView = UIView()
ご了承ください self.tableView.backgroundView = nil
はnotを実行します。
これを試して:
[searchController.searchBar setBarTintColor:[UIColor blackColor]];
[searchController.searchBar setTintColor:[UIColor whiteColor]];
お役に立てれば。
空のビューをUITableViewのbackgroundviewとして設定するだけです
[self.tableView setBackgroundView:[[UIView alloc] initWithFrame:CGRectZero]];
の色を変えてみてください
self.navigationController?.navigationBar = UIColor(red:1、green:1、blue:1、alpha:1)