2016-06-18 24 views
3

我在UITableView中使用UISearchController,並在我的基本視圖控制器上使用相同的表視圖來顯示搜索結果(以未指定單獨的搜索結果控制器作爲searchController = UISearchController(searchResultsController: nil))。UISearchController與零searchResultsController

儘管將searchResultsController設置爲nil,但當搜索處於活動狀態時,空透明_UISearchControllerView仍在我的視圖控制器上顯示。

有沒有辦法來防止這種情況,並保持我的視圖控制器上的視圖控制器hiearchy搜索頂部?

謝謝。

回答

1

您可以通過搜索控制器的dimsBackgroundDuringPresentation屬性設置爲false

searchController.dimsBackgroundDuringPresentation = false 
+0

這只是一個視覺屬性,因爲我知道,不工作,因爲我想。你有沒有嘗試過,看到調試器,也許我錯過了什麼? – Onur

-1

你好民間請儘量將刪除。

-(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 
相關問題