关闭键盘
2019-02-21 本文已影响0人
乂iang
textFieldShouldReturn
点击 return 之后键盘消失,利用的是委托方法 textFieldShouldReturn
1.首先声明遵守 UITextFieldDelegate 协议
<UINavigationBarDelegate,UIImagePickerControllerDelegate,UITextFieldDelegate>
- 在代码中实现方法
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
UIControl
UIControl对象采用了一种新的事件处理机制,将前一节指节处理的触摸时间直接转换为简单操作,这样可以无需关心用户访问控件的具体方式。触摸事件到达UIControl对象(由响应链者派遣)后,在UIResponder的方法中(如:touchBegin:withEvent)中,UIControl将标准的触摸事件转换为特殊的控件事件,简单的理解就是,UIControl把复杂的触摸事件封装成了简单的易于使用的控件事件。例如通过UIControl对象处理后,按下按钮的事件就被封装成一个控件事件,而不用去判断触摸屏幕的整个操作过程。(参考)
如果更好的体验是点按其他区域时也能关闭键盘,原理是向顶层视图发送endEditing消息。
- 先将BNRDetailViewController 对象的视图从 UIView 改为 UIControl 对象,才能处理触摸事件。
-
添加一个事件,类型设置为 UIControlEventTouchUpInside。
UIControlEventTouchUpInside.png
- 事件添加的代码如下:
- (IBAction)backgroundTapped:(id)sender {
[self.view endEditing:YES];
}
思维导图
![](https://img.haomeiwen.com/i10904133/ee0f628b934cdfe1.png)