2011-03-23 112 views
1

單擊鍵盤上的「搜索」後,搜索欄文本將被清除。有沒有辦法在搜索欄中保留文本?爲什麼它會消失?阻止搜索按鈕清除搜索欄文本

注:我使用搜索顯示控制器來激活和取消激活搜索

+0

我看了看他們使用搜索顯示控制器的其他應用程序。看起來它是搜索文本消失的標準。點擊搜索按鈕不應該停用搜索欄,而應該隱藏鍵盤。 thx爲您的幫助 – prostock 2011-04-12 23:11:55

+2

我無法重現此行爲。我也在使用搜索顯示控制器「,當我點擊」搜索「時,搜索欄文本不會清除。我沒有做任何特別的事情來阻止它。你能發佈一些與此相關的代碼嗎?也許你的'SearchDisplayControllerDelegate'和'UISearchBarDelegate'協議實現? – XJones 2011-04-14 16:32:35

+1

確保你沒有改變searchButtonClicked委託中的searchBar.text(如果你使用的是)。 – Ravin 2011-04-16 06:00:01

回答

1

我發現這從一個有點相關的問題......但是,當用戶點擊下面的代碼應該保持搜索詞可見搜索按鈕。

-(void) searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    NSString *str = searchBar.text; 
    [self.searchController setActive:NO animated:YES]; 
    self.searchController.searchBar.text = str; 
} 
+2

我會用保留和釋放來包裝它。 setActive:animated:方法可能會通過內部釋放它來使str指針無效。通過增加保留力量我們可以確保它仍然可用。 – 2011-04-15 21:31:15