首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISearchBar和resignFirstResponder

UISearchBar和resignFirstResponder
EN

Stack Overflow用户
提问于 2010-08-06 21:25:49
回答 2查看 15.2K关注 0票数 13

我有一个附加了UISearchBar的非常基本的UITableView,下面是执行操作的流程

UITableView为空,用户点击UISearchBar并调出键盘。一旦用户点击搜索按钮

代码语言:javascript
复制
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [searchBar resignFirstResponder]; //move the keyboard out of the way
    //Code....  
}

工作正常,并将键盘移开,并填充UITableView。问题在于任何后续的搜索尝试。

执行与前面相同的步骤,但是键盘永远不会关闭。我有一种感觉,其他的东西正在成为响应者,我只需要一点清晰的东西来理解实际发生的事情。

EN

回答 2

Stack Overflow用户

发布于 2010-08-06 21:32:21

如果不看你的代码,就很难猜到。但是,如果包括:

代码语言:javascript
复制
[self.view endEditing:YES];

所有意见将辞去first responder。

票数 31
EN

Stack Overflow用户

发布于 2016-09-03 01:34:14

不是很完美,但对我的情况很管用。没有dispatch_after将无法工作

代码语言:javascript
复制
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
    if (!searchText.length) {
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [searchBar resignFirstResponder];
        });   
    }
}

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
    [self performSearchWithString:searchBar.text];
    [searchBar resignFirstResponder];
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3424172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档