2016-06-18 17 views
3

私は、UITableViewでUISearchControllerを使用しており、ベースビューコントローラで同じテーブルビューを使用して検索結果を表示します(別の検索結果コントローラをsearchController = UISearchController(searchResultsController: nil)として指定しないで行う)。UISearchController with nil searchResultsController

ただし、searchResultsControllerをnilに設定しても、検索が有効なときに空の透明な_UISearchControllerViewがビューコントローラの上部に表示されています。

これを防止し、ビューコントローラを検索コントローラの上に置く方法はありますか?

ありがとうございました。

答えて

1

あなたはこんにちは偽

searchController.dimsBackgroundDuringPresentation = false 
+0

私は知っているように、それは単なる視覚的な性質です、私がしたいように動作しません。あなたはそれを試して、ビューのデバッガで見た、多分私は何かが不足している? – Onur

-1

にフォークを検索コントローラのdimsBackgroundDuringPresentationプロパティを設定することにより、これを試してみてくださいすることを削除することができます。

-(void) searchBar: (UISearchBar *) searchBar textDidChange:(NSString *)  searchText{ 
NSMutableArray *sortedData = [[NSMutableArray alloc] init]; 

    if ([searchText isEqualToString:@""]) { 
     _localArray = _mainArray; // you must take a local array 
    } 
    else{ 
     //show your sorted data 
    } 

} 

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar{ 
searchBar.text = nil; 
[searchBar resignFirstResponder]; 
} 
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{ 
[searchBar resignFirstResponder]; 
[self.view endEditing:YES]; 
} 
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{ 
[searchBar resignFirstResponder]; 
[self.view endEditing:YES]; 
} 
0

デフォルトでは、UISearchControllerは表示された表示を暗くします。これは、searchResultsControllerの別のビューコントローラを使用している場合に便利です。コードでは、結果を表示するように現在のビューを設定しているため、ビューを暗くしたくありません。

searchController.dimsBackgroundDuringPresentation = false 
関連する問題