表情键盘 EmojiKeyboard

EmojiKeyboard

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

EmojiKeyboard GitHub

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

截图

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,请告诉我.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,018评论 3 119
  • 一、摄像头 在iOS中,手机摄像头的使用有以下两种方法: UIImagePickerController拍照和视频...
    执着丶执念阅读 11,072评论 14 49
  • 英国有一本自我保护秘籍《儿童十大宣言》,我希望每个为人父母着,都能带着我们的孩子,把这十大宣言谨记在心。 1、平安...
    彼岸之岸阅读 1,500评论 0 51
  • 从未向此时这样难以忍受孤独,不知道怎么了,竟有些痛恨现在的自己了。 本就是一个躲在世界角落里的人,怎么突然...
    夏月微凉的记忆阅读 280评论 10 12