表情键盘 EmojiKeyboard

EmojiKeyboard

表情键盘 EmojiKeyboard 用Swift 4 编写 ,支持添加默认Emoji, 添加图片或GIF作为表情. 支持表情预览功能. 表情管理功能: 支持拖拽排序,置顶,删除. 支持由带表情标签的纯文本转为带emoji的文本,把带emoji的文本转为带标签的纯文本,方便传输.

EmojiKeyboard GitHub

有时候你需要根据自己的业务来自定一些界面和功能.如果需要帮助可以联系我.

截图

表情键盘 EmojiKeyboard_第1张图片
demo screenshots

demo GIF

demo gif

使用

  • 复制这个仓库.
  • 拖 'EmojiKeyboard/EmojiKeyboard' 文件夹到你的工程.
  • 修改表情的资源文件,删除默认的GIF表情.

代码示例

创建表情键盘,赋值给 textView

   var emojiKeyboard: EmojiKeyboardView = {
       let keyboard = EmojiKeyboardView()
        keyboard.delegate = self
        return keyboard
    }()
    
    // 赋值 inputView
    textView.inputView = emojiKeyboard

实现代理协议

extension ViewController: EmojiKeyboardViewDelegate {
    
    // 点击表情
    func KeyboardView(_ KeyboardView: EmojiKeyboardView, use emoji: EmojiViewModel) {
        if emoji.type == .default {
            EmojiHelper.insertEmoji(for: textView, defaultEmojiImageName: emoji.defaultEmojiImageName!, desc: emoji.desc!)
        } else {
            EmojiHelper.getEmojiImage(for: imageView, with: emoji)
        }
    }
    
    // 回退
    func emojiKeyBoardViewDidPressBackSpace(_ keyboardView: EmojiKeyboardView) {
        textView.deleteBackward()
    }
    
    // 发送
    func sendContent(_ keyboardView: EmojiKeyboardView) {
        sendEmojiText()
    }
    
}

建议:

在info.plist 添加相册权限描述

  • Privacy - Photo Library Additions Usage Description
  • Privacy - Photo Library Usage Description

访问相册前,申请权限. EmojiKeyboard 已经实现

第一次使用 初始化表情键盘,需要时间去加载bundle里的表情图片资源. 可以在某个时间点预加载相应的图片资源到内存.就像dmeo 做的一样.

最后,有什么建议或者bug,请告诉我.

你可能感兴趣的:(表情键盘 EmojiKeyboard)