2016-11-11 105 views
1

我將我的UISearchBar放置在導航欄中。當我點擊欄時,它會自動展開並顯示取消按鈕。如果您在該字段中鍵入內容,然後點擊鍵盤上的「搜索」,則會關閉顯示結果的鍵盤。但在這一刻,我遇到了一個很大的問題:取消按鈕現在被禁用(灰色),如果我點擊它,首先打開鍵盤,然後再次點擊取消退出搜索。是否可以保持取消按鈕始終處於活動狀態,以便我可以直接點擊它退出搜索?當鍵盤在iPad上消失時,UISearchBar取消按鈕被禁用

+0

的可能的複製[禁用的UISearchBar取消按鈕的自動停用(http://stackoverflow.com/questions/4348351/uisearchbar-disable-auto-disable-of-cancel-button) –

回答

1
searchBar.showsCancelButton = YES; 

您可以在UISearchBar上創建另一個自定義按鈕。

for (UIView *subView in searchBar.subviews) { 
     if([subView isKindOfClass:[UIButton class]]) { 

      UIButton *cancelButton = (UIButton *)[searchBar.subviews lastObject]; 
      //Make changes to the cancelButton here 
      [cancelButton setEnabled:YES]; 

     } 
    } 
+1

是的,在最終我以這種方式做到了。但我覺得這不是一個乾淨的方式。另一個問題是:爲什麼取消按鈕在特定情況下會自動禁用? –