ISEmojiView
  • March 11, 2024

English | 中文

An easy to use Emoji keyboard for iOS.

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

Features


  •  Written in Swift
  •  Custom emojis
  •  Multiple skin tone support ( 🏻 🏼 🏽 🏾 🏿 )
  •  Categories bottom bar (like iOS system emoji Keyboard)
  •  Recently used emoji
  •  Dark Mode (#58)
  •  SwiftUI support.

Example


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

Requirements


  • Swift 5
  • iOS8+
  • Xcode 10

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:

  • bottomType – type of bottom view. Available variants: .pageControl.categories. See BottomType enum. Default .pageControl.
  • customEmojis – array of custom emojis. To describe emojis you have to use EmojiCategory class.
  • isShowPopPreview – long press to pop preview effect like iOS10 system emoji keyboard. Default is true.
  • countOfRecentsEmojis – the max number of recent emojis, if set 0, nothing will be shown. Default is 50.
  • needToShowAbcButton – need to show change keyboard button. This button is located in Categories bottom view.

GitHub


View Github

#emoji #keyboard
YOU MIGHT ALSO LIKE...
🧭 NavigationKit

NavigationKit is a lightweight library which makes SwiftUI navigation super easy to use. 💻 Installation 📦 Swift Package Manager Using Swift Package Manager, add ...

swiftui-navigation-stack

An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation. NavigationStack Installation ...

Stinsen

Simple, powerful and elegant implementation of the Coordinator pattern in SwiftUI. Stinsen is written using 100% SwiftUI which makes it ...

SwiftUI Router

With SwiftUI Router you can power your SwiftUI app with path-based routing. By utilizing a path-based system, navigation in your app becomes ...

FlowStacks

This package takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers, allowing you to use the same API not just ...