2010-08-10 76 views
3

給定一個帶有UISearchBar的UITableViewController,如何更改顯示在表視圖中(輸入任何字符後)的'無結果'文本到'按名稱搜索' ?原因在於有問題的搜索是遠程執行的(並且具有大約第二延遲),所以當用戶選擇搜索按鈕(而不是響應於搜索標準的改變)時,我只能執行搜索。因此,我仍然希望「無結果」文本出現,但只有當用戶點擊「搜索」按鈕並且沒有從服務器返回結果時。我目前有:UITableView更改'沒有結果'消息

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption 
{ 
    return NO; 
} 

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString 
{ 
    return NO; 
} 

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    self.results = [Projects findAllRemote]; 
    [self.searchDisplayController.searchResultsTableView reloadData]; 
} 

回答

12

從蘋果技術支持論壇:目前還不能更改文本(很好的機會,以便將錯誤!)支持的方式,但你可以阻止它表示返回了當您還在等待用戶按下搜索按鈕時,數據源中有單個空白單元格。只要有一個單元格,我們就不會顯示無結果文本。