我正在尋找一種方法來啓用鍵盤上的「搜索」按鈕,即使在搜索欄的文本字段在當時不包含文本時也是如此。即使搜索欄文本框爲空,也啓用「搜索按鈕」
背景是,隨着在搜索欄的文本字段中輸入的術語,我會發送其他信息到我的後端。搜索一個空術語將是有意義的(在我的範圍內)..
有沒有什麼辦法可以解決這個問題?
THX提前,
SAM
我正在尋找一種方法來啓用鍵盤上的「搜索」按鈕,即使在搜索欄的文本字段在當時不包含文本時也是如此。即使搜索欄文本框爲空,也啓用「搜索按鈕」
背景是,隨着在搜索欄的文本字段中輸入的術語,我會發送其他信息到我的後端。搜索一個空術語將是有意義的(在我的範圍內)..
有沒有什麼辦法可以解決這個問題?
THX提前,
SAM
當它變爲活動狀態時,您可以嘗試在搜索文本字段的開頭添加隱形字符。 A Zero-width space可能是正確的。
- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController*)controller
{
NSLog(@"Starting search");
controller.searchBar.text = @"\u200B";
}
您可能希望它像這樣的東西結合起來,防止表數據的重新加載:
- (BOOL)searchDisplayController:(UISearchDisplayController*)controller shouldReloadTableForSearchString:(NSString*)searchString
{
return ![searchString isEqualToString:@"\u200B"];
}
這將是一個更好的主意,只是有一個按鈕或鏈接,「全部顯示」或一些類似的事情。
它在iOS的8
在您的viewDidLoad很簡單:
self.searchBar.enablesReturnKeyAutomatically = false
但是對於8之前的iOS版本,您應該將UISearchBarDelegate設置爲您的searchBar,並且t母雞覆蓋searchBarTextDidBeginEditing(我的銀行代碼,可以很容易地將其轉換成Objective-C代碼):
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
searchBar.setShowsCancelButton(true, animated: true)
var searchBarTextField : UITextField? = nil
for mainview in searchBar.subviews
{
for subview in mainview.subviews {
if subview.isKindOfClass(UITextField)
{
searchBarTextField = subview as? UITextField
break
}
}
}
searchBarTextField!.enablesReturnKeyAutomatically = false
}
我喜歡那些黑客!非常感謝! – samsam 2010-08-27 07:26:45