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

iphone - UITextField 上的键盘没有被解除

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

这听起来可能是一个新手问题,但我是 iOS 开发新手。

平台:iPad

我有一个带有 UITextField 的 UITableView,假设它们是两个。 当按下第一个虚拟键盘时应该会出现,但是当用户点击第二个 UITextField 时,虚拟键盘应该被隐藏并且应该显示数据选择器 View 。

就是这样,我是怎么做到的。

-(void) textFieldDidBeginEditingUITextField *)textField {
    if (textField.tag == PICKER_VIEW_TAG) {
        [textField resignFirstResponder];
    } else {
        ...
    }
}

-(void) textFieldDidEndEditingUITextField *)textField
{
    if (textField.tag != PICKER_VIEW_TAG) {
        ...
    }
}

- (BOOL)textFieldShouldBeginEditingUITextField *)textField
{
    if (textField.tag == PICKER_VIEW_TAG) {
        [self countriesPickerView];
    }
    return YES;
}

-(BOOL)textFieldShouldReturnUITextField *)textField
{
    if (textField.tag == PICKER_VIEW_TAG) {
        [textField resignFirstResponder];
    } else {
        ... 
    }
    return YES;
}

所以现在的问题是,当我第一次单击第一个 UITextField 时,它会显示键盘,但是当我切换到第二个时,它不会隐藏它。为什么 ?以及如何解决这个问题?

更新:相应的 textField 没有被选中,但即发生了辞职,对吧?但是键盘没有隐藏……为什么会这样?



Best Answer-推荐答案


问题在于您的 textFieldShouldReturn。如果您希望它完成操作,请允许它在退出第一响应者时返回。

[textField resignFirstResponder];
return YES;

关于iphone - UITextField 上的键盘没有被解除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8386298/

回复

使用道具 举报

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

本版积分规则

关注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