IOS之监听UITextField的编辑事件

原创 2015年07月10日 10:24:50

1、如果需要在UIViewController中监听UITextField的编辑事件,可以在视图控制器以下方法进行处理

@protocol UITextFieldDelegate <NSObject>

@optional

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;        // return NO to disallow editing.
- (void)textFieldDidBeginEditing:(UITextField *)textField;           // became first responder
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;          // return YES to allow editing to stop and to resign first responder status. NO to disallow the editing session to end
- (void)textFieldDidEndEditing:(UITextField *)textField;             // may be called if forced even if shouldEndEditing returns NO (e.g. view removed from window) or endEditing:YES called

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;   // return NO to not change text

- (BOOL)textFieldShouldClear:(UITextField *)textField;               // called when clear button pressed. return NO to ignore (no notifications)
- (BOOL)textFieldShouldReturn:(UITextField *)textField;              // called when 'return' key pressed. return NO to ignore.

@end

2、如果某个类继承UITextField,需要在该类内部实现监听,可以按以下方法处理

- (id)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self)
    {
        [self addTarget:self action:@selector(onChange:) forControlEvents:UIControlEventEditingDidEnd];// 可在自定义selector处理
    }
    return self;
}



typedef NS_OPTIONS(NSUInteger, UIControlEvents) {
    UIControlEventTouchDown           = 1 <<  0,      // on all touch downs
    UIControlEventTouchDownRepeat     = 1 <<  1,      // on multiple touchdowns (tap count > 1)
    UIControlEventTouchDragInside     = 1 <<  2,
    UIControlEventTouchDragOutside    = 1 <<  3,
    UIControlEventTouchDragEnter      = 1 <<  4,
    UIControlEventTouchDragExit       = 1 <<  5,
    UIControlEventTouchUpInside       = 1 <<  6,
    UIControlEventTouchUpOutside      = 1 <<  7,
    UIControlEventTouchCancel         = 1 <<  8,

    UIControlEventValueChanged        = 1 << 12,     // sliders, etc.

    UIControlEventEditingDidBegin     = 1 << 16,     // UITextField
    UIControlEventEditingChanged      = 1 << 17,
    UIControlEventEditingDidEnd       = 1 << 18,
    UIControlEventEditingDidEndOnExit = 1 << 19,     // 'return key' ending editing</span></strong>

    UIControlEventAllTouchEvents      = 0x00000FFF,  // for touch events
    UIControlEventAllEditingEvents    = 0x000F0000,  // for UITextField
    UIControlEventApplicationReserved = 0x0F000000,  // range available for application use
    UIControlEventSystemReserved      = 0xF0000000,  // range reserved for internal framework use
    UIControlEventAllEvents           = 0xFFFFFFFF
};









版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS开发总结之UITextField常用属性和方法

UITextField属性 0.        enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disab...

iOS 监听textfield的输入

1:首先 [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEven...

iOS开发之实时监测textField输入变化

// 我这里控制的是输入用户名和密码长度控制,通过这个来设置登录按钮能不能点击 [self.accountText addTarget:self action:@selector(textField...

Android:最全面的 Webview 详解

前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的。今...

Android:你不知道的 WebView 使用漏洞

前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图上述功能是由 Android的WebView 实现的,但是 WebView 使用过程...

手把手教你构建 Android WebView 的缓存机制 & 资源预加载方案

前言 由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发 但我知道你一定在烦恼 Android Web...

使用UITextFieldDelegate来隐藏键盘

使用UITextFieldDelegate来隐藏键盘 原文链接地址:http://blog.sina.com.cn/s/blog_bf9843bf0101f91t.html   方法一: 使用...

在UIView中创建 delegate的属性的时候一定要用assign,不能用retain

在UIView中创建  delegate的属性的时候一定要用assign,不能用retain.       因为这会导致循环引用,导致一些界面的dealloc函数不能被调用,这个时候,如果有...

IOS文本框事件--委托方式实现

#pragma mark--------------UITextFieldDelegate method - (BOOL) textFieldShouldBeginEditing:(UITextFi...

iOS-监听UITextField值改变事件

在实际情况中我们有时候在界面输入时候需要让用户输入的数据与模型同步,那么可能我们就需要监听UITextField值改变事件,然后在响应的方法中将新的值同步到模型中。这次我们主要提出三种方案,其中第一种...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)