ISEmojiView logo Version License Platform Carthage Compatible SPM supported

English | 中文

一个易于使用的 iOS Emoji 键盘。

已使用 Swift 重写,旧的 Objective-C 版本在 oc 分支上。

特性

示例

要运行示例项目,请克隆 repo,并首先从 Example 目录运行 pod install

要求

使用方法

安装

Swift Package Manager

通过 Swift Package Manager 安装到你的项目中,在 Package.swift 中添加:

.package(name: "ISEmojiView", url: "https://github.com/isaced/ISEmojiView.git", .upToNextMinor(from: "0.3.0")),

在 Xcode 中:

Cocoapods

# Swift
pod 'ISEmojiView'

# Objective-C (Deprecated)
pod 'ISEmojiView', '0.0.1'

Carthage

github "isaced/ISEmojiView"

导入

import ISEmojiView

初始化

let keyboardSettings = KeyboardSettings(bottomType: .categories)
let emojiView = EmojiView(keyboardSettings: keyboardSettings)
emojiView.translatesAutoresizingMaskIntoConstraints = false
emojiView.delegate = self
textView.inputView = emojiView

代理

实现 <EmojiViewDelegate>

// callback when tap a emoji on keyboard
func emojiViewDidSelectEmoji(_ emoji: String, emojiView: EmojiView) {
    textView.insertText(emoji)
}

// callback when tap change keyboard button on keyboard
func emojiViewDidPressChangeKeyboardButton(_ emojiView: EmojiView) {
    textView.inputView = nil
    textView.keyboardType = .default
    textView.reloadInputViews()
}
    
// callback when tap delete button on keyboard
func emojiViewDidPressDeleteBackwardButton(_ emojiView: EmojiView) {
    textView.deleteBackward()
}

// callback when tap dismiss button on keyboard
func emojiViewDidPressDismissKeyboardButton(_ emojiView: EmojiView) {
    textView.resignFirstResponder()
}

自定义

KeyboardSettings

这是一个描述键盘设置的类。可用属性

SwiftUI

在 macOS SwiftUI 上无法原生运行。

import ISEmojiView

EmojiView_SwiftUI()
    .frame(width: 300, height: 500)
    .padding()

countOfRecentsEmojis, needToShowAbcButton, needToShowDeleteButton, updateRecentEmojiImmediately 可以作为参数传递给 EmojiView_SwiftUI。

其他

如果您正在寻找 React Native 解决方案,请查看这个 brendan-rius/react-native-emoji-keyboard

许可证

MIT