隐藏键盘上的单击输入按钮或搜索按钮
我在UIBarButtonItem
里面添加了UISearchBar
按钮。隐藏键盘上的单击输入按钮或搜索按钮
以下表格:
// search bar
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 260, 44)];
UIBarButtonItem *searchBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:searchBar];
[searchBar release];
[buttons addObject:searchBarButtonItem];
现在出现在当我点击UISearchBar
键盘上的问题。我想在点击输入或搜索按钮时隐藏键盘。我怎样才能做到这一点?
从UISearchBarDelegate
实现方法:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[searchBar resignFirstResponder];
}
您需要处理UISearchBarDelegate
protocol方法。
在以下方法中,调用UISearchBar的方法-resignFirstResponder
。
(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
(BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
的上述委托方法的细节可以在the apple official document找到。我经常在这些代表方法中将第一响应者辞职为搜索结束。
可以使用的UISearchBar的委托方法
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
}
和输入(未测试)
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText; // called when text changes (including clear)
{
if ([searchText isEqualToString:@"\n"])
[searchBar resignFirstResponder];
}
希望这有助于你...
在头文件中添加或连接到UISearchBar插座:应该看起来像这样:
@property(弱,非原子)IBOutlet UISearchBar * searchBarName;
然后在实现者中添加以下内容:
self.searchBarName.delegate = self;在viewDidLoad中功能
然后添加以下功能:
- (无效),在searchBarSearchButtonClicked:(的UISearchBar *)搜索栏
{
[self.searchBarName resignFirstResponder];
}
而且上述保证,这是在头部添加/扩展
UISearchBarDelegate
使用[textField endEditing:YES];
,它应该为你工作,或者你可以创建乌尔按钮的oject做[self.buttonObj resignFirstResponder]
用于迅速1.2
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}
thanks..for溶液 –