2016-05-12 11 views
0

私は、tableViewでUIViewControllerを使用しています。私はsearchcontrollerをセットアップして、searchbarをtableviewヘッダに埋め込みました。私がそれを検索すると、テーブルビューとその上にあるuiviewの間にステータスバーサイズのギャップが残されます。私はこれについて多くの他の質問があることを理解しますが、誰もこの問題を解決しませんでした。ここでテーブルビューヘッダーのUISearchController検索バーは、ステータスバーサイズのギャップを残します。

は、検索バーを設定するためのコードです:

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil]; 
self.searchController.searchResultsUpdater = self; 
self.searchController.dimsBackgroundDuringPresentation = NO; 
self.searchController.hidesNavigationBarDuringPresentation = YES; 
self.searchController.searchBar.delegate = self; 
self.searchController.searchBar.backgroundImage = [UIImage new]; 
self.searchController.searchBar.backgroundColor = kBlueNavBarColor; 
self.searchController.searchBar.tintColor = [UIColor whiteColor]; 

self.tableView.tableHeaderView = self.searchController.searchBar; 
self.definesPresentationContext = YES; 

enter image description here enter image description here Here is the layout of the view:

答えて

0

スクロール表示インセットを調整し"これは、ステータスバーの位置までギャップを移動し、navbarがシームレスにしたのと同じ色の青色にビュー全体の背景色を変更しました。

0

UIViewControllerモーダルを示したとき、私は同様の問題がありました。ナビゲーションバーが大きく伸びていた。私はそれを少し広くしたナビゲーションバーのサイズを変更しました。これが役に立ったら教えてください。この問題はiOS 7から始まりました。バージョンを確認する必要はないかもしれません。

float currentVersion = 7.0; 
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= currentVersion) { 
     // iOS 7 
     self.navBar.frame = CGRectMake(self.navBar.frame.origin.x, self.navBar.frame.origin.y, self.navBar.frame.size.width, 64); 
    } 
+0

ありがとうございます。これは動作しません。 –

+0

ナビゲーションバーのサイズを少し下げても、グレーの灰色が表示されたらどうなりますか? – Yan

+0

私はそれを理解しました、私の答えを見てください。ありがとう。 –

0

サイズクラスを無効にし、カスタム自動サイズ設定を定義します。以下の画像を参照してください: -

UITableView Autoresize:- 

Autoresizing for UITableView

UISearchBar Autoresize:- 

UISearchBarController autoresize

注:: - あなたがCAオートレイアウトとサイズクラスを無効にすると、上記のサイズインスペクタを参照してください。

+0

この1つの問題を解決するためにストーリーボード全体の自動レイアウトをオフにすることは実際には実現不可能です。 –

+0

わかりました。 – MShah

0

enter image description here

のチェックを外し、私が「スーパービュー」から「トップレイアウトガイドからセグメントコントローラを保持しているビューの「上」オートレイアウトアンカーを変更することによってそれを修正

+0

これを試してもうまくいかなかった –

関連する問題