保持键盘始终位于顶部和可见

时间:2013-04-17 23:52:01

标签: ios objective-c uitextfield uikeyboard

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

我使用viewdidload调用了[txtField becomeFirstResponder],键盘默认显示,但在显示视图后有一点延迟。

在我提交了我的文本字段之后,成为第一响应者也无济于事。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

  

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

那部分毫无意义。默认情况下,除非使用endEditing:resignFirstResponder将其解除,否则文本字段不会关闭键盘。如果键盘消失了,你必须制作它就会消失。所以不要,它不会。

编辑:事实上,您的评论后来会显示答案:您已经从文本字段中连接了didEndOnExit控件事件。那么,当用户按下完成按钮时,这会导致键盘被解除!因此,你有效地击中了自己的脸,然后抱怨有人正在打你的脸。

所以解决方案显然是挂钩didEndOnExit控制事件(对任何事情)。相反,只需给文本字段一个委托,并使用委托消息来了解用户正在做什么。这些都没有任何关于键盘的自动行为,因此键盘不会自动被解雇。例如,要了解用户何时输入内容,请使用textField:shouldChangeCharactersInRange:replacementString:。要了解用户何时点击完成按钮,请使用textFieldShouldReturn:。等等。