1

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

我已经尝试了下面给出的两种方法。

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

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

谢谢

4

3 回答 3

2
[self.view endEdtiting:YES]; 

从文档:

“导致视图(或其嵌入的文本字段之一)放弃第一响应者状态。”

“force:指定 YES 以强制第一响应者辞职,无论它是否想要这样做。ReturnValue:如果视图退出了第一响应者状态,则为 YES,否则为 NO。”

[self.textField resignFirstReponder];

“通知接收者它已被要求放弃其窗口中的第一响应者身份”

于 2014-01-21T10:40:25.377 回答
1

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

于 2014-01-21T11:22:49.840 回答
0

向包含输入第一响应者的视图发送-endEditing:(BOOL)强制调用将导致向文本字段发送辞职消息,从而导致屏幕键盘被关闭。删除层次结构

resignFirstResponder中的当前第一响应者UIResponder

于 2014-01-21T10:42:46.177 回答