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...
SwiftUICam

If you want to have a custom camera using SwiftUI and not using the UIPickerController that will display the original ...

CameraView for SwiftUI 📷

CameraView allows you to have a SnapChat-style screen on your SwiftUI app that gives a realtime view of the iPhone ...

Camera-SwiftUI

SwiftUI has proven to be a really awesome new framework to build and design apps in a quick and reliable ...

ECWeekView

See the swiftui branch for updates. An iOS calendar library for displaying calendar events in a week view.