内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

iOS TextFiled,TextView过滤表情,限制长度

2019-03-22 12:05 出处:清屏网 人气: 评论(0

需求:在文本框中限制输入表情,长度限制

实现原理: 通过这两个控件的代理与通知实现

阅读前提:

  • 由于搜狗等不断改善,可能小部分表情未能限制
  • 原理较为简单,不再讲解

GitHub地址(附代码) :

简书地址 :

博客地址 :

掘金地址 :

注意

  1. 可以根据需求自行更改提示样式等等
  2. 可以根据需求自行优化过滤算法
  3. 好处:我们只需要有这样一个类,以后项目中所有需要限制的地方仅仅需要直接导入头文件,引用类方法即可

使用方法:

1. 导入头文件

#import "XDXTextContentHandler.h"

2. 直接在对应的代理或通知中对用头文件即可

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    self.testTextFiled.delegate = self;
    self.testTextView.delegate  = self;
    
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(textFiledEditChanged:)
                                                 name:@"UITextFieldTextDidChangeNotification"
                                               object:self.testTextFiled];
}


#pragma mark - Notification
- (void)textFiledEditChanged:(NSNotification *)obj {
    [XDXTextContentHandler handleTextFiledEditChangedWithNotification:obj textMaxLength:kTitleTextMaxLength isShowTip:YES];
}
#pragma mark - Delegate

#pragma mark TextFiled
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    return [XDXTextContentHandler handleTextFiledShouldChangeTextInRangeWithTextFiled:textField range:range replacementText:string isShowTip:YES];
}

#pragma mark TextView
- (void)textViewDidChange:(UITextView *)textView {
    [XDXTextContentHandler handleTextViewDidChangeWithTextView:textView textMaxLength:kTitleTextMaxLength isShowTip:YES];
}

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    return [XDXTextContentHandler handleTextViewShouldChangeTextInRangeWithTextView:textView range:range replacementText:text isShowTip:YES];
}

分享给小伙伴们:
本文标签: iOSTextFiledTextView

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.