2

私はナビゲーションコントローラをビューコントローラに接続しています。それは明らかにデフォルトのナビゲーションバーを提供します。その下に、2つのボタンがある別のナビゲーションバーがあります。コードでは、UISearchControllerがそのナビゲーションバーに提供する検索バーを手動で追加しています。その下に、別のフィルタビュー(カスタム)があり、次にUITableViewがあります。すべてがうまくいくようですが、検索をクリックして入力を開始すると、結果ビューには2番目のナビゲーションバーと検索バーが表示され、役に立たなくなります。私はself.searchController.hidesNavigationBarDuringPresentation = NOで遊んでみました。それはメインナビゲーションバーを隠すだけです。さらに怒っている部分は、ビューコントローラが2番目のナビゲーションバーのスペースを実際に残しているという結果ですが、これはその背後に隠れています。これをデバッグビューのヒラキラメニューで見ることもできます。ここでUISearchControllerでナビゲーションバーを表示したままにするにはどうすればよいですか?

CUSearchResultsTableViewController *results = [self.storyboard instantiateViewControllerWithIdentifier:@"searchResults"]; 
self.searchController = [[UISearchController alloc] initWithSearchResultsController:results]; 
self.searchController.searchResultsUpdater = self; 

self.searchBarNavItem.titleView = self.searchController.searchBar; 
self.searchController.hidesNavigationBarDuringPresentation = NO; 
self.searchController.obscuresBackgroundDuringPresentation = NO; 

self.searchController.dimsBackgroundDuringPresentation = NO; 
self.definesPresentationContext = YES; 
self.searchController.delegate = self; 
self.searchController.searchBar.delegate = self; 
+0

この問題を解決する方法を見つけましたか? – Ramis

答えて

1

あなたがそれを行うことができますどのようにされています:ここで私は、検索コントローラ用に使用しているコードです

Objective-Cの

[self.navigationItem setHidesSearchBarWhenScrolling:NO]; 

スウィフト

self.navigationItem.hidesSearchBarWhenScrolling = false; 
関連する問題