iPhone:为什么发送消息resignFirstResponder删除键盘?

时间:2011-01-07 11:33:57

标签: iphone objective-c ios uitextfield first-responder

这是一个两部分问题:

1)为什么我们需要首先让UITextField成为第一响应者?即使它不是第一响应者,它也会起作用。

2)当我们发送消息resignFirstResponder时,为什么键盘会消失?该方法是否也将键盘作为副作用删除?为什么UITextView中没有单独的方法来指示它删除键盘?

2 个答案:

答案 0 :(得分:3)

Why do you want the resignFirstResponder message not to remove the keyboard?

  1. 只有当您发送 becomeFirstResponder 消息或在文本字段内单击时,UITextField才会变为活动状态(光标在文本字段内部闪烁,并且键盘会出现)。

    < / LI>
  2. resignFirstResponder 消息使文本字段处于非活动状态(光标将从文本字段中删除)。如果光标不在文本字段中,那你为什么还需要那里的键盘呢?您将在哪里发送键盘输入的文字?这就是当文本字段作为第一响应者辞职时键盘自动消失的原因。

    resignFirstResponder 是UITextView中指示其删除键盘的方法。

答案 1 :(得分:0)

您也可以将resignFirstResponder发送到TextView,但实际上您可能要问的是textview没有委托方法,例如textfield文本字段,即textFieldShouldReturn。 所以回答你的问题,因为textview是多行的,按回车键将光标移到下一行。您需要在键盘上方的单独视图中明确放置完成按钮,按下它可以将resignFirstResponder消息发送到textview。