Home

Awesome

ISEmojiView logo Version License Platform Carthage Compatible SPM supported

English | 中文

An easy to use Emoji keyboard for iOS.

Has been rewritten with swift, the old Objective-C version on branch oc.

<img src="/screenshot1.png" width="375" height="667"> <img src="/screenshot2.png" width="375" height="667">

Features

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Useage

Installation

Swift Package Manager

via Swift Package Manager Install to your project,Add in Package.swift:

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

In Xcode:

Cocoapods

# Swift
pod 'ISEmojiView'

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

Carthage

github "isaced/ISEmojiView"

Import

import ISEmojiView

Initialization

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

Delegate

Implement <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()
}

Customize

KeyboardSettings

This is a class to desribe keyboard settings. Available properties:

SwiftUI

Doesn't work on macOS SwiftUI natively.

import ISEmojiView

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

countOfRecentsEmojis, needToShowAbcButton, needToShowDeleteButton, updateRecentEmojiImmediately can be passed to EmojiView_SwiftUI as parameters.

Others

If you are looking for a React Native solution, take a look at this brendan-rius/react-native-emoji-keyboard

License

MIT