iOS UI篇13- UITextView、UITextField检测并过滤Emoji表情符号

本文介绍如何在iOS应用中检测并过滤UITextView和UITextField中的Emoji表情符号。通过监听键盘类型和检查字符串内容,实现对Emoji的屏蔽,确保用户输入不包含表情。
摘要由CSDN通过智能技术生成

UITextView UITextField 检测并过滤Emoji表情符号

将苹果键盘的Emoji表情符号过滤掉。

通过研究和测试,得到以下比较完美的解决方案,思路两条:

1.当用户切换键盘为Emoji表情时,输入的表情不响应(即表情符号不显示到UITextView或UITextField)。这里可以通过UITextView或UITextField的回调和是否为emoji键盘:

[[[textView textInputMode] primaryLanguage] isEqualToString:@"emoji"];

2.当用户通过中文键盘输入中文“哈哈”后出现可选文字中选中的Emoji笑脸,最后统一通过检查最终字符串textField.text的内容,通过Emoji筛unicode编码来判断是否存在Emoji表情,如果存在则提醒用户做修改。

主要的代码如下:

#pragma mark - TextView Delegate 限制字数、限制表情

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    //如果允许继续输入,那么返回YES,否则返回NO
    //如果输入超过规定的字数140,就不再让输入
    // 不让输入表情
    if ([textView isFirstResponder]) {
        if ([[[textView textInputMode] primary
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值