我在我的代碼中使用了UISearchBar
。我已經將它的委託導入到頭文件中,並且還在實現文件中實現了一些委託方法。如何禁用/啓用UISearchBar鍵盤的搜索按鈕?
當我們點擊UISearchBar
時,會出現一個鍵盤輸入文本。鍵盤的返回鍵是「搜索」按鈕。它會默認禁用。當我們輸入一個角色時,它會被啓用。 (我是對吧?)
這裏的問題來了..我想啓用UISearchBar
鍵盤的返回鍵,當用戶輸入至少兩個字母。
可能嗎?如果是的話,我們該怎麼做?
感謝
我在我的代碼中使用了UISearchBar
。我已經將它的委託導入到頭文件中,並且還在實現文件中實現了一些委託方法。如何禁用/啓用UISearchBar鍵盤的搜索按鈕?
當我們點擊UISearchBar
時,會出現一個鍵盤輸入文本。鍵盤的返回鍵是「搜索」按鈕。它會默認禁用。當我們輸入一個角色時,它會被啓用。 (我是對吧?)
這裏的問題來了..我想啓用UISearchBar
鍵盤的返回鍵,當用戶輸入至少兩個字母。
可能嗎?如果是的話,我們該怎麼做?
感謝
你可以用」禁用搜索按鈕。你可以做的是使用UISearchBarDelegate
的方法來找出你應該採取行動上的搜索按鈕被點擊,就像這樣:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
if (searchBar.text.length < 2) {
return;
}
else {
// Do search stuff here
}
}
的Apple Documentation這是非常有用的,而且是一個很好的起點用於自定義searchBar的行爲。
你可以試試這個
if([self.searchBar.text length] > 2)
{
[self.searchBar resignFirstResponder];
}
哦....對不起,我得到了錯誤.. :( – Krunal 2012-03-15 14:36:59
簡短的回答是不...
更長,hackier和更奇特的一個是在這裏: How to disable/enable the return key in a UITextField?
對於具體「我可以從字面上禁用搜索欄的返回鍵「,這是正確的答案,除了OP的要求可以被滿足,否則 – NSNoob 2015-12-16 09:50:27
這是我要做的事:
if([searchbar.text length] == 0) {
[searchBar performSelector: @selector(resignFirstResponder)
withObject: nil
afterDelay: 0.1];
}
你可以試試這個,
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{
if (searchText.length>=2) {
[Main_SearchBar resignFirstResponder];
// Do your code here
}
}
但是,如果搜索按鈕被激活,但是什麼都不做,那麼用戶不清楚 – 2017-08-31 17:50:23
就像@NikKov說的那樣。禁用(更改爲灰色)搜索按鈕。 – 2017-10-20 08:53:14