zoukankan      html  css  js  c++  java
  • iOS中键盘隐藏几种方式

    转载学习http://www.cnblogs.com/jerehedu/p/4496421.html


    在ios开发中,经常需要输入信息。输入信息有两种方式: UITextField和UITextView。信息输入完成后,需要隐藏键盘,下面为大家介绍几种隐藏键盘的方式。

    <一> 点击键盘上的return按钮,隐藏键盘

      1、UITextField

      遵守协议

    @interface ViewController ()<UITextFieldDelegate>

          设置代理

    myTextfield.delegate=self;

    使用代理中的方法

    -(BOOL)textFieldShouldReturn:(UITextfield *)textField

    {

    [myTextField resignFirstRespinder];

    return NO;

    }

    2、UITextView

      遵守协议

    @interface ViewController ()<UITextViewDelegate>

    设置代理

    textView.delegate=self;

    使用代理中的方法:

    -(BOOL)textView:(UITextview *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{

    if([text isEqualToStringL@" "]){

    [textView resignFirstResponder];

    return NO;

    }

    return YES;

    }

    <二> 在键盘上添加一个按钮,点击按钮隐藏键盘

      设置按钮

    UIToolbar *topView=[[UIToolbar alloc]initWithFrame:CGRectMake(0,0,320,30)];

    [topView setBarStyle:UIBarStyleBlack];

    UIBarButtoItem *btnSpace=[[UIBarButtonItem alloc]initWihBarButtonSystemItem:

    UIBarButtonSystemItemFlexibleSpace target:self action:nil];

    UIBarButtonItem *doneButton=[[UIBarButtonItem alloc]initWithTitle:@"完成" style:

    UIBarButtonItemStyleDone tsrget :self action: @swelector(dismissKeyBoard)];

    NSArrar * buttonArray=[NSArrar arrayWithPbjects:btnSpace,doneButton,nil];

    [topView setItems:buttonArray];

    1、UITextField

    [myTextField setInputAccessoryView:TopView];

    2、UITExtView

    [textView setInputAccessoryView:topView];

    添加隐藏键盘方法

    -(void)dismissKeyBoar

    {

    [myTextField resignFirstResponder];

    [textView resignFirstResponder];

    }

    <三>点击除键盘以外的空白位置让键盘隐藏。

      在touchesBegan:withEvent:方法中让输入控件放弃第一响应者身份

    -(void)touchesBegan:(NSString *)touches withEvent:(UIEvent *)event{

    [myTextField resignFirstResponder];

    [textView resignFirstReponder];

    }

    <四> 添加手势,单击除键盘以外的空白位置让键盘隐藏

     //添加单击手势

    UITapGuestureRecognizer *tap=[[UITapGuestureRecognizer alloc]initWithTarget:self action:@selector(dismissKeyBoard)];

    tap.numberOfTouchedRequired=1;

    tap.numberOfTapsRequired=1;

    [self.view addGestureRecgnizer:tap];

    //隐藏键盘

    -(void)dismissKeyBoard{

    [myTextField resigFirstRespinder];

    [textView resigFirstRespinder];

    }

    <五> 只要点击除键盘以外的空白界面,无论是点击哪个控件弹出的键盘,键盘都隐藏

    -(void)touchhesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

    [self.view endEditing:YES];

    }

  • 相关阅读:
    一个php soap的错误记录
    Android 开发有哪些新技术出现?
    每个PHP开发者都应该看的书
    30 个 PHP 的 Excel 处理类
    PHP Session可能会引起并发问题
    PHP代码优化技巧大盘点
    分析和解析PHP代码的7大工具
    关于 PHP 7 你必须知道的五件事
    PHP也20岁了
    PHP高级特性二之文件处理
  • 原文地址:https://www.cnblogs.com/yesihoang/p/4511742.html
Copyright © 2011-2022 走看看