自定义表情键盘

自定义表情键盘

去年的时候,项目中有使用到表情键盘,接手过来的时候,整个表情键盘和项目耦合度太高了,想做一点扩展都让人头疼,所以,就抽时间封装了一个一表情键盘。最近在重构项目的时候,看到表情键盘这里,输入框,没有显示自定表情,就做了一下处理,让输入框可以显示表情。

配置资源文件

资源文件我是放在了 XTEmojiResources 文件中,其中:

  • emojiPackages 是配置有几个 Tab,以及 Tab的项目信息。

  • toolbarImage 是一些按钮的图片

  • lionfaceyctface 是表情图片,其中的info.plist文件中的内容可以根据XTEmojiInfoModel 中添加,但emojiNameemojiDesc必须有。其他的按照实际需求做扩展。

如何使用

本来是想做成 Framework的。后面就直接把源码放 Demo里面了。使用的时候,把这几个目录里面文件全部拖动到你自己的项目里面,或者你自己去制作一个 Framework。具体的实现方式,源码里面都有注释。

接入代码参考

按照 Demo里面 ViewController 里的代码使用。

    // 表情键盘
    XTEmojiInputView *inputView = [[XTEmojiInputView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height - 258, self.view.frame.size.width, 258)];
    self.inputView = inputView;

    __weak ViewController *weakSelf = self;
    
    self.inputView.emojiInputResultBlock = ^(XTEmojiInfoModel *infoModel, BOOL isDeleteEmoji) {

        __strong typeof(weakSelf)strongSelf = weakSelf;
        
        if (isDeleteEmoji) {
            
            // 删除表情
            if (strongSelf.textView != nil) {
                [strongSelf.textView deleteBackward];
            }
            
        } else {
            
            // 添加表情
            [strongSelf.textView insertEmojiWithModel:infoModel];
        }
    };


    self.inputView.emojiToolBarSendBlock = ^{
        
        __strong typeof(weakSelf)strongSelf = weakSelf;
        [strongSelf.textView changeEmojiAttributedStringToNormalString];
        
        NSLog(@"\n\n 11111点击发送文本:\n%@\n\n",strongSelf.textView.finalText);
    };

Demo 地址

Demo的具体地址在我的 GitHub。有问题,欢迎大家提出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值