2014-01-21 308 views
0

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

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

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

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

感谢

回答

1

一般来说本第一响应,这两种方法被用于隐藏键盘或失去焦点上一个TextField。 [self.view EndEditing:YES]通知程序结束正在视图(或其子视图)中发生的任何编辑过程。因此,它显然隐藏了用于编辑的键盘。无论具体的文本字段如何,这都会发生。而方法[self.textField resignFirstResponder]会在编辑方法(self.textField)中指定的textField时响应它。因此失去了焦点并隐藏了键盘。

2
[self.view endEdtiting:YES]; 

从文档:

“原因的看法(或嵌入文本字段中的一个)辞职第一响应者的地位。”

“强制:指定YES强制第一个响应者辞职,不管它是否愿意。 ReturnValue:如果视图退出第一个响应者状态,则为YES;如果不是,则为否。

[self.textField resignFirstReponder]; 

“通知接收器,它已被要求放弃在其窗口第一个响应者的地位”

0

发送-endEditing:(BOOL)力调用包含输入第一个响应者认为将导致文本字段被发送一个辞职信息,导致屏幕键盘被解雇。

resignFirstResponder去除在UIResponder层级