Ios 隐藏搜索按钮上的键盘单击由代码创建的搜索栏
我使用以下代码创建了一个Ios 隐藏搜索按钮上的键盘单击由代码创建的搜索栏,ios,iphone,objective-c,Ios,Iphone,Objective C,我使用以下代码创建了一个搜索栏: UISearchBar *Search = [[UISearchBar alloc]initWithFrame:CGRectMake(150, 0,170 , 50)]; [SearchView addSubview:Search]; 但当我点击搜索按钮时,键盘并没有隐藏。我使用了很多方法,比如searchbartextdidediting和searchBarSearchButtonClicked。可能是因为我的搜索栏没有连接。我还在.h类和.munload
搜索栏
:
UISearchBar *Search = [[UISearchBar alloc]initWithFrame:CGRectMake(150, 0,170 , 50)];
[SearchView addSubview:Search];
但当我点击搜索按钮时,键盘并没有隐藏。我使用了很多方法,比如searchbartextdidediting
和searchBarSearchButtonClicked
。可能是因为我的搜索栏没有连接。我还在.h类和.munload
方法中使用了UISearchBarDelegate
委托:
Search.delegate = Self;
有人能建议我如何将由代码创建的搜索栏连接到我的视图控制器上,这样它就可以工作了吗?首先你需要设置搜索栏的
delegate
,然后你应该使用ui搜索栏的delegate
方法,比如
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
}
实现了-(void)SearchBarSearchButtonClick:(UISearchBar*)searchBar
,如下代码:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[searchBar resignFirstResponder];
}
不要忘记在接口(.h)文件中添加UISearchBarDelegate
继续…:) 您可以使用以下委托功能:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
当用户按下“搜索”按钮时,将调用此函数。您可以随意关闭您的按键,在那里做任何您需要的事情您也可以通过按钮操作方法来完成。单击“搜索”按钮时,写下以下行
(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[self.view endEditing:YES];
}
这将起作用。请尝试将ViewDidLoad方法中UISearchBar的委托设置为:
Use the `resignFirstResponder`
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[candySearchBar resignFirstResponder];
}
//hide keyboard on searchBarTextDidEndEditing
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
//hide keyboard
[candySearchBar resignFirstResponder];
}
yourSearchBar.delegate = self;
我尝试了这个方法,但是这个方法没有被调用。我使用日志检查它,你能告诉我如何委派我的搜索栏吗?这个方法在点击搜索按钮时没有被调用,你能建议我它没有被调用的问题是什么吗?yourSearchBar.delegate=self;正如Ashutosh所说:0)