首先,说一下第一响应者的概念:一般而言,原则是谁叫出键盘那么就由谁退出键盘。而叫出键盘的这个控件一般我们就称之为第一响应者。如果它突然不成为第一响应者了,那么键盘也会随之消失。
所以:
(1)第一种方法,取消这个控件的第一响应者身份。如下的num1和num2是UITextField对象,用来输入数字的,我们点击完成或者计算按钮,就需要分别让它们退出第一响应者身份,因为我们不知道用户最后一次的输入光标会是在num1上还是num2上。
[self.num1 resignFirstResponder];
[self.num2 resignFirstResponder];上面方法弊端在于,如果这个视图中又很多输入控件,那么太烦。
(2)用UIView来管理,结束编辑就会收起键盘。这个只能管理由view子控件叫出的键盘。即它只能管理自己“儿子”的行为。
[self.view endEditing:YES];当然,我们一般倾向于使用后者。
本文介绍了在iOS应用中如何通过两种方式管理键盘的显示与隐藏。一种是直接取消特定UITextField对象的第一响应者身份;另一种则是利用UIView的方法endEditing来管理所有子控件引发的键盘显示,更为灵活高效。
126

被折叠的 条评论
为什么被折叠?



