在iOS中隐藏键盘

时间:2014-01-21 10:35:51

标签: ios resignfirstresponder

我想在输入数据后隐藏键盘。

我尝试过以下两种方法。

[self.textField resignFirstResponser];
[self.view endEditing:YES];

两者都运作良好,但我想知道这两行之间的区别。

由于

3 个答案:

答案 0 :(得分:2)

[self.view endEdtiting:YES]; 

来自文档:

“使视图(或其中一个嵌入的文本字段)重新签署第一个响应者状态。”

“force:指定YES以强制第一响应者辞职,无论是否要这样做。 ReturnValue:如果视图重新响应第一个响应者状态则为YES,否则返回NO。“

[self.textField resignFirstReponder];

“通知收件人已被要求放弃其作为第一响应者在其窗口中的状态”

答案 1 :(得分:1)

通常,这两种方法都用于隐藏键盘或失去对TextField的焦点。 [self.view EndEditing:YES]告诉程序结束在视图(或其子视图)中发生的任何编辑过程。因此,它显然隐藏了用于编辑的键盘。无论任何特定的文本字段都会发生这种情然而,[self.textField resignFirstResponder]方法将其响应重新设置为在方法(self.textField)中编辑指定的textField。因此失去焦点并隐藏键盘。

答案 2 :(得分:0)

-endEditing:(BOOL)强制调用发送到包含输入第一响应者的视图将导致文本字段被发送重新签名消息,从而导致屏幕键盘被解除。

resignFirstResponder删除了UIResponder层次结构

中的当前第一响应者