zoukankan      html  css  js  c++  java
  • UITextField完成输入后关闭键盘的方法

    iPhone的键盘是基于软件,而不是物理键盘的,因此需要一些额外的步骤来确保用户在完成输入后关闭键盘。
    1.通过点击Return按钮关闭键盘
    当用户按下Return按钮时,将触发“did end on exit”事件,此时我们需要让文本字段取消控件,以关闭键盘。
    在控制器类头文件中加入一个操作方法

    -(IBAction)textFieldDoneEditing:(id)sender;

    在相应的.m文件中实现该方法

    -(IBAction)textFieldDoneEditing:(id)sender
    {
    [sender resignFirstResponder];
    }

    FirstResponder是用户当前正在与之交互的控件。此处我们告诉触发此操作的控件取消FirstResponder状态。当文本字段生成FirstResponder状态之后,与之相关的键盘将消失。

    在Interface Builder中按command+2 选择Did End on Exit旁边的圆圈拖到File’s Owner图标,并将它连接到textFieldDoneEditing操作。然后保存,最后返回Xcode。

    但是,此方法缺乏较佳的用户体验。

    2.通过触摸背景关闭键盘
    这个方法是创建一个不可见的按钮,将其置于其他所有元素的后面,用于通知文本字段在检测到触摸操作时生成

    FirstResponder状态。

    在控制器类头文件中加入

    -(IBAction)backgroundTap:(id)sender;

    在实现文件中实现该方法

    -(IBAction)backgroundTap:(id)sender {
    [textField resignFirstResponder];
    }

    打开Interface Builder,标有Class的字段目前显示为UIView,将其更改为UIControl。能够触发操作方法的所有控件都是UIControl的子类,所以通过更改底层类,此视图将能够触发操作方法。从Touch Down事件拖到File’s Owner图标并选择backgroundTap:操作。保存xib文件,完工。现在触摸视图中没有活动控件的任何位置都将触发新的操作方法,这将导致关闭键盘。

    推荐使用此方法。

  • 相关阅读:
    Mybatis中Log4j日志的使用
    Mybatis结果集ResultMap映射
    Mybatis中的基本对象的生命周期和作用域
    IAR瑞萨单片机开发加入printf调试函数
    【转】C语言mem.h中的函数介绍
    【转】c语言位域操作—_结构体内冒号:的使用
    串口数据传输当中的共用体和结构体转换
    【转】printf格式串中的%f的输出格式和内容
    【转】缓冲区设计--环形队列(C++)
    【转】环形队列理论(C语言)
  • 原文地址:https://www.cnblogs.com/BinZone/p/4085161.html
Copyright © 2011-2022 走看看