我使用以下代码创建了search bar
:
UISearchBar *Search = [[UISearchBar alloc]initWithFrame:CGRectMake(150, 0,170 , 50)];
[SearchView addSubview:Search];
但是当我点击搜索按钮时,键盘没有被隐藏。我使用了很多方法,例如searchBarTextDidEndEditing
和searchBarSearchButtonClicked
。也许原因是我的搜索栏没有附加。我还在.h类和.m UISearchBarDelegate
方法中使用了unload
委托:
Search.delegate = Self;
任何人都可以建议我如何将我的代码创建的搜索栏附加到我的View Controller,以便它可以工作吗?
答案 0 :(得分:12)
首先,您需要设置searchBar的delegate
,然后您应该使用delegate
的{{1}}方法,例如,
UISearchBar
答案 1 :(得分:6)
Use the `resignFirstResponder`
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[candySearchBar resignFirstResponder];
}
//hide keyboard on searchBarTextDidEndEditing
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
//hide keyboard
[candySearchBar resignFirstResponder];
}
答案 2 :(得分:1)
按以下代码实施- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[searchBar resignFirstResponder];
}
不要忘记在界面(.h)文件中添加UISearchBarDelegate。
继续......:)
答案 3 :(得分:1)
请尝试在ViewDidLoad方法中将UISearchBar的委托设置为:
yourSearchBar.delegate = self;
答案 4 :(得分:0)
您可以使用以下委托功能:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
当用户按下搜索按钮时调用此方法。随意解雇你的无聊的钥匙,做你需要的任何事情
答案 5 :(得分:0)
您也可以在按钮操作方法上执行此操作。单击搜索按钮时,请写下以下行。
(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[self.view endEditing:YES];
}
这样可行。