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

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

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

在此先感谢您的帮助!

===============>>#1 票数:4 已采纳

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

那部分毫无意义。 默认情况下,除非把它打发掉一个文本字段不取消键盘endEditing:resignFirstResponder 如果键盘会消失,你一定要使它消失。 所以不要,也不会。

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

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

  ask by user2292949 translate from so

未解决问题?本站智能推荐: