TapGesture关闭键盘/无法识别的选择器

时间:2016-08-10 17:46:04

标签: objective-c uisearchbar uitapgesturerecognizer

我的页面上有一个UISearchBar。我希望这个搜索栏在点击页面的任何部分时消失。这是我在viewDidLoad中的代码:

UITapGestureRecognizer *pageTapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideSearchBar)];
[self.view addGestureRecognizer: pageTapped];

我的hideSearchBar方法如下所示:

-(void)hideSearchBar:(UITapGestureRecognizer *)pageTapped{
[self.view endEditing:YES];
}

我目前收到一个无法识别的选择器错误,说hideSearchBar是一个无法识别的选择器,发送到filterPageViewController的实例(包含hideSearchBar方法的类和searchBar本身)。我想知道我的头文件中是否可能遗漏了某些内容?

1 个答案:

答案 0 :(得分:1)

您在添加操作中缺少半色数:

action:@selector(hideSearchBar)

应该是

action:@selector(hideSearchBar:)

或全部:

UITapGestureRecognizer *pageTapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideSearchBar:)];

或从函数中删除参数:

-(void)hideSearchBar {

如果您在hideSearchBar方法中不需要该页面。