关闭键盘

作者: 乂iang | 来源:发表于2019-02-21 19:09 被阅读0次

    textFieldShouldReturn

    点击 return 之后键盘消失,利用的是委托方法 textFieldShouldReturn
    1.首先声明遵守 UITextFieldDelegate 协议

    <UINavigationBarDelegate,UIImagePickerControllerDelegate,UITextFieldDelegate>
    
    1. 在代码中实现方法
    -(BOOL)textFieldShouldReturn:(UITextField *)textField{
        [textField resignFirstResponder];
        return YES;
    }
    

    UIControl

    UIControl对象采用了一种新的事件处理机制,将前一节指节处理的触摸时间直接转换为简单操作,这样可以无需关心用户访问控件的具体方式。触摸事件到达UIControl对象(由响应链者派遣)后,在UIResponder的方法中(如:touchBegin:withEvent)中,UIControl将标准的触摸事件转换为特殊的控件事件,简单的理解就是,UIControl把复杂的触摸事件封装成了简单的易于使用的控件事件。例如通过UIControl对象处理后,按下按钮的事件就被封装成一个控件事件,而不用去判断触摸屏幕的整个操作过程。(参考)

    如果更好的体验是点按其他区域时也能关闭键盘,原理是向顶层视图发送endEditing消息。

    1. 先将BNRDetailViewController 对象的视图从 UIView 改为 UIControl 对象,才能处理触摸事件。
    1. 添加一个事件,类型设置为 UIControlEventTouchUpInside。


      UIControlEventTouchUpInside.png
    1. 事件添加的代码如下:
    - (IBAction)backgroundTapped:(id)sender {
        [self.view endEditing:YES];
    }
    

    思维导图

    关闭键盘.png

    相关文章

      网友评论

        本文标题:关闭键盘

        本文链接:https://www.haomeiwen.com/subject/tgmdyqtx.html