0

这个问题与我的其他问题有关但这是我面临的问题中更集中的部分。

我有 5 个文本字段,我想移动(滚动)视图,这样键盘就不会隐藏活动字段。我已经按照 Apple 推荐的标准方法实现了 keyboardWillShow: text field 委托方法,并且当我第一次点击任何文本字段时它工作得很好。

但是,我已将键盘上的 Return 按钮替换为 Next 按钮。按下它时,焦点会跳转到下一个文本字段。而且由于该过程中的键盘既没有隐藏也没有再次显示,所以我的keyboardWillShow:方法没有被调用 - 我从我放置在那里的NSLogs中看到了这一点,这些NSLogs没有出现在控制台中。

单击下一步时如何强制重新计算键盘高度的任何想法?我理解的一件事是,为了获得键盘高度(我不想使用硬编码的高度),我需要将计算保存在以 aNotification 作为参数的方法中。

有什么想法或建议吗?

4

1 回答 1

1

当然keyboardWillShow不是如你所说的那样调用。

只需使用textField:didEndEditing, 或更好textField:shouldBeginEditing的下一个文本字段,并使用相同的逻辑。

要解决键盘高度和位置问题,请保留一个包含您需要的数据的变量,并使用常用的通知挂钩来使其保持最新。

于 2013-04-20T14:39:37.893 回答