2010-09-10 76 views
1

排序問題: 有沒有辦法將UISearchDisplayController中的「取消」按鈕文本更改爲「完成」或「關閉」?iPhone - 更改UISearchDisplayController「取消」按鈕文字

理由:

我有一個UITableView包含一個選項列表,每個選項可以選中或取消選中。

我想通過這些選項來啓用搜索,所以我創建並添加了一個UISearchDisplayController

用戶將搜索一個項目,然後對搜索結果中的項目執行操作(即將選擇/取消選擇某些項目)。

一旦完成,用戶將回到之前(未檢索的)選項列表。

問題是,解僱UISearchDisplayController的唯一方法是按下「取消」按鈕。然而,「取消」在這裏是錯誤的詞,因爲在搜索欄內進行的操作將被存儲。

因此,有沒有辦法將「取消」按鈕文本更改爲「完成」或「關閉」?

回答

0

我發現了一種方法來做到這一點,在搜索欄的委託,創建一個空的動畫,然後經過一段時間,改變你的東西在按鈕上,這可能是因爲取消按鈕動畫在某個時候後不久委託調用,因此你不能抓住它,並在此之前,更改:

-(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController*)controller { 
[UIView 
    animateWithDuration:0.05 animations:^{} completion:^(BOOL finished){ 

     for (UIView *possibleButton in controller.searchBar.subviews) 
     { 
      if ([possibleButton isKindOfClass:[UIButton class]]) 
      { 
       UIButton *cancelButton = (UIButton*)possibleButton; 

       //TODO: 
       // do things with button here... 
      } 
     } 
    } 
    ]; 
} 
+1

注意,你可能不應該這樣做,而是隻使用色彩,因爲這可能是不允許的,可以讓你的應用程序被拒絕。 – djdolber 2011-05-02 13:27:13

相關問題