7

我在我的代碼中使用了UISearchBar。我已經將它的委託導入到頭文件中,並且還在實現文件中實現了一些委託方法。如何禁用/啓用UISearchBar鍵盤的搜索按鈕?

當我們點擊UISearchBar時,會出現一個鍵盤輸入文本。鍵盤的返回鍵是「搜索」按鈕。它會默認禁用。當我們輸入一個角色時,它會被啓用。 (我是對吧?)

這裏的問題來了..我想啓用UISearchBar鍵盤的返回鍵,當用戶輸入至少兩個字母。

可能嗎?如果是的話,我們該怎麼做?

感謝

回答

7

你可以用」禁用搜索按鈕。你可以做的是使用UISearchBarDelegate的方法來找出你應該採取行動上的搜索按鈕被點擊,就像這樣:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    if (searchBar.text.length < 2) { 
     return; 
    } 
    else { 
     // Do search stuff here 
    } 
} 

Apple Documentation這是非常有用的,而且是一個很好的起點用於自定義searchBar的行爲。

+1

但是,如果搜索按鈕被激活,但是什麼都不做,那麼用戶不清楚 – 2017-08-31 17:50:23

+0

就像@NikKov說的那樣。禁用(更改爲灰色)搜索按鈕。 – 2017-10-20 08:53:14

-1

你可以試試這個

if([self.searchBar.text length] > 2) 
{ 
    [self.searchBar resignFirstResponder]; 
} 
+1

哦....對不起,我得到了錯誤.. :( – Krunal 2012-03-15 14:36:59

0

這是我要做的事:

if([searchbar.text length] == 0) { 
     [searchBar performSelector: @selector(resignFirstResponder) 
          withObject: nil 
          afterDelay: 0.1]; 
    } 
0

你可以試試這個,

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{ 
     if (searchText.length>=2) { 
     [Main_SearchBar resignFirstResponder]; 

     // Do your code here 
     } 
}