在本网站的其他帖子的帮助下,我点击了按钮时设法用键盘打开搜索显示控制器。我可以看到底层的UIView也变暗了。
我现在想做的是,当用户点击搜索栏外时,键盘不会被解除。目前,键盘被解除,并且调用了searchDisplayControllerWillEndSearch。
我尝试了以下组合但没有效果。
self.searchDisplayController.searchBar.hidden = NO;
[self.searchDisplayController.searchBar setShowsCancelButton:YES animated:YES];
[self.searchDisplayController setActive: YES animated: YES];
[self.searchDisplayController.searchBar becomeFirstResponder]
任何人都可以提出任何想法吗?
答案 0 :(得分:1)
我无法尝试这个,但我认为它应该可行
将某些内容声明为searchbar delegate;
@interface YourViewController : UIViewController <UISearchBarDelegate>
然后,在YourViewController.m中的某处,设置:
- (BOOL) searchBarShouldEndEditing:(UISearchBar *)searchBar {
return NO;
}
您可以将其设置为返回动态内容,例如,如果我们只想让它在没有任何文本时停止编辑,我们可以这样做。
- (BOOL) searchBarShouldEndEditing:(UISearchBar *)searchBar {
return (searchbar.text.length > 0) ? YES : NO;
}
这样,如果用户已开始输入,或者搜索栏中有任何文字,则不会重新签名。
让我知道这是否有效。