• IOS开发隐藏键盘的4种方法


    IOS开发隐藏键盘的4种方法

    开发的app中常会用到键盘输入完成后隐藏键盘的情况.在此总结了4种方法来实现我们的目的.

    方法一——delegate方式

    第一种隐藏键盘的方法,称为delegate三步法: 
    1. 遵循(委托/代理); 
    2. 调用; 
    3. 关联头文件(ViewController.h)中遵循代理 。 代码如下:

    #import <UIKit/UIKit.h>  
    @interface ViewController : UIViewController<UITextFieldDelegate>  
    @end

    在实现文件(ViewController.m)中,调用方法:

    #pragma --mark textFieldDelegate  
    //调用delete方法,<UITextFieldDelegate>  
    -(BOOL)textFieldShouldReturn:(UITextField *)textField  
    {  
        [textField resignFirstResponder];//释放第一响应者  
        return YES;  
    }

    其中代码#pragma --mark textFieldDelegate,是将它下面方法:textFieldShouldReturn标记到textFieldDelegate的类别下.如下图所示:

    这里写图片描述

    遵循代理,并且创建方法后,剩下的一步就是建立连接了. 
    选中控件后,按住control键拖拽到view Controller上,选择delegate.连接就建立好了.

    这里写图片描述

    建立连接后,右击进行连接的控件后,可以看到. 
    这里写图片描述

    command+r运行后,输入按键盘的return键即可实现键盘隐藏.

    方法二——事件响应法:

    直接选中输入控件,拖拽该控件创建一个action和outlet. 
    这里写图片描述 
    在实现文件中,实现action.

    - (IBAction)didEnd:(id)sender {  
        [self.didTextfield resignFirstResponder];  
    }

    方法三——点击空白处,隐藏键盘

    当点击空白位置时,隐藏键盘的方法. 
    选中视图后,将class(原来为UIView)更改为UIControl——(这是因为:UIControl是 UIView 的子类,具有后者的所有外观和行为,同时又能激发事件),然后为View对象创建一个touch up inside的触摸事件,为输入控件创建一个outlet. 
    这里写图片描述

    这里写图片描述

    将action实现行为.

    - (IBAction)viewClicked:(id)sender{  
        //获取文本框对象后,退出第一响应者  
        [self.textField resignFirstResponder];  
    }  

    方法四——奇技淫巧(不常用)

    巧用UIButton.将按钮控件铺满全屏,去掉上面的文字,设置背景色与视图色一致(这里为突出效果,按钮背景色设置为红色). 
    为UIButton对象,创建一个touch up inside的action,为文本框创建一个outlet,然后实现action,

    - (IBAction)btnTap:(id)sender {  
        [self.textField resignFirstResponder];  
    }  

    这里写图片描述

    如何让键盘消失:点击return让键盘消失:在它所在页面的controller里,连接它的did end on exit 到代码中,再加一句:sender.resignFirstResponder()

    点击屏幕让键盘消失:先将view改为uicontrol的证书,然后连接view的Touch down到当前页面,连接相应的textfield到该页面,在viwe的代码中写上相应的textfiled.resignFirstResponder()

  • 相关阅读:
    JS判断是PC端还是移动端
    js对象转数组
    js获取当前域名、Url、相对路径和参数以及指定参数
    javascript返回上一页的三种写法
    js正则归纳总结
    higtcharts 生成图表个数问题
    js如何处理后台传递过来的Map
    jQuey实现鼠标滑过整行变色
    <display:column>常用属性解释
    <display:table>常用属性解释
  • 原文地址:https://www.cnblogs.com/auvxx/p/6739967.html
Copyright © 2020-2023  润新知