美文网首页iOS的心路里程
iOS - - 关闭键盘的各种方法

iOS - - 关闭键盘的各种方法

作者: 罂粟之城 | 来源:发表于2017-12-05 23:58 被阅读206次
关闭虚拟键盘一般使用在使用UITextField和UITextView这两种控件时,当编辑完成时或者需要关闭键盘时使用。
这里有两种关闭键盘方法:(*都可以使用此方法不论多少个编辑控件即可直接关闭:[self.view endEditing:YES];)

操作一、 编辑时打开键盘,直接使用键盘上的return键或者Done键绑定关闭键盘方法,输入完成后直接return即可关闭键盘。
直接绑定“Did End On Exit”事件,即结束编辑的时候激发这个方法即可实现在textField控件中使用点击return键即可关闭键盘.
操作二、 直接触摸屏幕其他区域即可关闭键盘。(在下面的方法中可以调用自带方法:[self.view endEditing:YES]及在屏幕中结束编辑,结束各个编辑框的响应)
-1.在storyBoard中更改UIView最大的那个视图为UIControl,为其绑定“Touch Down”事件,在调用输入框对象,放弃第一响应者
    - (IBAction)backTap:(id)sender{
        [self.passTextField resignFirstResponder];//调用passTextField控件对象,放弃第一响应者
        [self.nameTextField resignFirstResponder];调用passTextField控件对象,放弃第一响应者
        //[self.view endEditing:YES];调用视图方法结束响应
        }
-2.使用自带的方法监听手指触摸事件。当在编辑时手指触摸到其他地方则可以进行一些操作,如放弃键盘及输入框的第一响应者
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
        [self.passTextField resignFirstResponder];//调用passTextField控件对象,放弃第一响应者
        [self.nameTextField resignFirstResponder];调用passTextField控件对象,放弃第一响应者
          //[self.view endEditing:YES]; 调用视图方法结束响应
}
操作三、 当整个父视图都在UIScrollView滑动控件上时,可以使用滑动控件的代理方法自动调用来关闭键盘,而原本使用触摸其它区域关闭键盘已经不能够使用了。
- (void) scrollViewWillBeginDragging:(UIScrollView *)scrollView ;
//滑动控件开始拖拽时执行这个方法。
操作四、 创建手势关闭键盘
-(void)viewDidLoad
{
 /*创建手势关闭键盘*/
    UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)];
//设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。
    tapGestureRecognizer.cancelsTouchesInView = NO;
//将触摸事件添加到当前view
    [self.view addGestureRecognizer:tapGestureRecognizer];
    }

- (void)keyboardHide:(UITapGestureRecognizer*)tap
{
    [self.describeTextView resignFirstResponder];
 }

我是只授之以渔的罂粟花,如果您有更好的使用方法欢迎留言交流!

相关文章

网友评论

    本文标题:iOS - - 关闭键盘的各种方法

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