EmojiKeyboard
表情键盘 EmojiKeyboard 用Swift 4 编写 ,支持添加默认Emoji, 添加图片或GIF作为表情. 支持表情预览功能. 表情管理功能: 支持拖拽排序,置顶,删除. 支持由带表情标签的纯文本转为带emoji的文本,把带emoji的文本转为带标签的纯文本,方便传输.
有时候你需要根据自己的业务来自定一些界面和功能.如果需要帮助可以联系我.
截图
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,请告诉我.