• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 消除键盘 FirstResponder 问题

[复制链接]
菜鸟教程小白 发表于 2022-12-13 02:11:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

所以我正在制作一个应用程序,但在从 UISearchBar 和 UITextFields 解除键盘时遇到了一些问题。这是我的应用程序的结构:

NavigationController -> ViewC1 - (Modally)-> ViewC2 -(Modally) -> ViewC3

我在 ViewC1 中有一个搜索框,当按下键盘上的“搜索”按钮时,键盘被关闭,这很好用。但是,如果我在进入 ViewC3 后返回 ViewC1,则按下“搜索”按钮时键盘不再关闭。在搜索栏委托(delegate)方法中,我放了如下:

- (void) searchBarSearchButtonClickedUISearchBar *)search
{
if ([search isFirstResponder]) {
    [search resignFirstResponder];
  } else {
    [search becomeFirstResponder];
    [search resignFirstResponder];
  }
}

这并不能解决问题,我不确定为什么键盘没有关闭。供引用,返回原来的ViewC1时,ViewC3被dismiss如下:

UIViewController *parent = self.presentingViewController;
[parent.presentingViewController dismissViewControllerAnimated:YES completion:nil];

感谢您的帮助。



Best Answer-推荐答案


好的,我想出了问题所在。他们的第一响应者正在辞职,但由于焦点问题,键盘并没有消失。模态视图有一个默认行为是不关闭键盘(这显然不是一个错误)。因此,从模态视图返回后,它仍然存在这种行为(辞职第一响应者但不关闭键盘)。我解决这个问题的方法是将以下代码放在两个模态视图 .m 文件中:

- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}

这为我解决了这个问题。然后通过使用:

[search resignFirstResponder];

[self.view endEditing: YES];

键盘会正常关闭!

关于ios - 消除键盘 FirstResponder 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15882972/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap