保持键盘始终在顶部和可见

use*_*949 5 objective-c uitextfield uikeyboard ios

我有文本字段,图像和几个按钮的视图.我想确保显示键盘并在显示视图时位于顶部.我想确保它在输入文本字段并提交后不会消失.

[txtField becomeFirstResponder]使用viewdidload 调用,键盘默认显示,但在显示视图后稍有延迟.

在我提交文本字段后,成为第一响应者也没有帮助.

在此先感谢您的帮助!

mat*_*att 4

此外,在我提交文本字段后,becomefirstresponder 也没有帮助。

这部分没有意义。默认情况下,文本字段不会关闭键盘,除非endEditing:使用或关闭键盘resignFirstResponder。如果键盘消失了,您必须让它消失。所以不这样做也不会。

编辑:事实上,您的评论后来揭示了答案:您已经didEndOnExit从文本字段连接了控制事件。好吧,这会导致当用户按下“完成”按钮时键盘消失!所以你实际上是在打自己的脸,然后抱怨有人打你的脸。

因此,显然,解决方案是不要将控制事件连接didEndOnExit到任何东西。相反,只需为文本字段指定一个委托,并使用委托消息来了解用户正在做什么。这些都没有与键盘有关的任何自动行为,因此键盘不会自动消失。例如,要了解用户何时打字,请使用textField:shouldChangeCharactersInRange:replacementString:。要了解用户何时点击“完成”按钮,请使用textFieldShouldReturn:。等等。