ResignFirstResponder 不工作。

Posted

技术标签:

【中文标题】ResignFirstResponder 不工作。【英文标题】:ResignFirstResponder not working. 【发布时间】:2013-08-25 16:31:09 【问题描述】:

我想实现一个功能,一旦我触摸表格视图,视图顶部的搜索栏将 resignFirstResponder 并且键盘将从视图中检索。我将以下代码与 xib 文件中的 tableView 相关联,但它似乎不起作用。

- (IBAction)backgroundTap:(id)sender

    NSLog(@"test : did touch down");
    [_searchBar resignFirstResponder];

我尝试通过在 .m 文件中添加以下代码来尝试另一种实现方式,但仍然无法正常工作。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    NSLog(@"test : did touch down");
    UITouch *touch = [touches anyObject];
    UIView *view = (UIView *)[touch view];
    if (view == self.view) 
        [_searchBar resignFirstResponder];
    

希望有人可以提供帮助。

【问题讨论】:

我在类似情况下使用您的第二种方法,它工作正常,除了在 ios 7 上,第一次点击时忽略 resignFirstResponder。 [self endEditing:YES] 也是如此。第二个水龙头工作正常。解决方法是每次点击时只调用 resignFirstResponder 两次,这样就可以了。 【参考方案1】:

就这样吧。。

[Self.view endEditing:YES];

【讨论】:

【参考方案2】:

尝试做你正在做的事情,但调用 resignFirstResponder 两次。我发现我必须从 iOS 7 开始这样做。

【讨论】:

以上是关于ResignFirstResponder 不工作。的主要内容,如果未能解决你的问题,请参考以下文章

UISearchBar resignFirstResponder 不工作

resignFirstResponder 没有按预期工作

resignFirstResponder 没有按预期工作。每次按键时键盘都会弹出,而不是仅返回

UISearchBar resignFirstResponder无法正常工作

resignFirstResponder 没有在 iPad 中隐藏 UIkeyboard

resignFirstResponder 不关闭键盘