iOS 6 中不同的 UITextField 键盘解除行为

Posted

技术标签:

【中文标题】iOS 6 中不同的 UITextField 键盘解除行为【英文标题】:UITextField keyboard dismissal behaviour different in iOS 6 【发布时间】:2013-01-07 14:16:20 【问题描述】:

我有一些简单的代码,通过在每个字段上依次调用“becomeFirstResponder”来移动 UITextFields 之间的“firstResponder”。

ios 5 中,键盘一直显示,直到显示 resignFirstResponder 的最终文本字段。

但是,在 iOS 6 中,每次移动第一响应者时,键盘都会执行关闭和重新出现动画。在调用 becomeFirstResponder 以移动响应者(或在任何相关方法中)时,我绝不会调用 resignFirstResponder - 这似乎是 iOS 6 中的新默认行为。

这会让人分心,而且是不受欢迎的。

我查看了 Apple 文档,但找不到任何关于如何管理键盘动画的更改。

谁能向我推荐这些更改的文档?谢谢。

【问题讨论】:

没有变化。在我的应用程序的 iOS6 中,它不会这样做。 刚刚通过创建一个测试项目进行了仔细检查,它肯定没有隐藏然后再次显示。你能提供你的代码吗? 【参考方案1】:

找到问题了。

我的代码也在调用,

[self.tableView reloadData];

...调用 becomeFirstResponder 时。

因此,在重绘发生时键盘被关闭。

这肯定会导致 iOS 5 和 6 之间的键盘行为不同。尽管考虑到 6 中的行为似乎并非完全不合理。

感谢@Fogmeister 的帮助。

【讨论】:

以上是关于iOS 6 中不同的 UITextField 键盘解除行为的主要内容,如果未能解决你的问题,请参考以下文章

ios开发UI篇—UITextfield

在 iOS 6 中,-[UITextField becomeFirstResponder] 在 -viewWillAppear 中不起作用:

隐藏 iOS 键盘预测文本栏 - UITextView / UITextField

iOS 中的 UITextField 和键盘管理问题

iOS 键盘处理(改变键盘为完成键),UITextField键盘显示隐藏,弹出,回弹

在 UITextField 和软件键盘 ios 之间提供最小填充