美文网首页
iOS监听UITextView、UITextField键盘删除键

iOS监听UITextView、UITextField键盘删除键

作者: 李华光 | 来源:发表于2017-01-12 15:29 被阅读0次

最近在做一个键盘判处功能,当输入框内容清空了之后,我们想要再获取删除事件,就比较麻烦了,UITextField并没有删除的代理或者target事件。

一、分析UITextField

UITextField里面用的其实是UIKeyInput,先看UIKeyInput.h

@protocol UIKeyInput <UITextInputTraits>

- (BOOL)hasText;
- (void)insertText:(NSString *)text;
- (void)deleteBackward;   // 删除方法
@end

二、解决办法

所以,我们只需要继承一个UITextField,然后重写deleteBackward方法就可以了。

头文件

#import <UIKit/UIKit.h>

@class WDTextField;

@protocol WDTextFieldDelegate <NSObject>
- (void)wd_textFieldDeleteBackward:(WDTextField *)textField;
@end

@interface WDTextField : UITextField
@property (nonatomic, assign) id <WDTextFieldDelegate> wd_delegate;

@end

实现文件

@implementation WDTextField

- (void)deleteBackward {
    [super deleteBackward];
    
    if ([self.wd_delegate respondsToSelector:@selector(wd_textFieldDeleteBackward:)]) {
        [self.wd_delegate wd_textFieldDeleteBackward:self];
    }
}

相关文章

网友评论

      本文标题:iOS监听UITextView、UITextField键盘删除键

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