• Stars
    star
    496
  • Rank 85,456 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Emoji Keyboard for iOS

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.

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.

Others

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

License

MIT

More Repositories

1

V2exOS

一个用 SwiftUI 编写的 V2ex macOS/iOS/tvOS 客户端 (A V2ex macOS/iOS/tvOS client written in SwiftUI)
Swift
629
star
2

CubicBezier

CubicBezier Generator for macOS
Objective-C
143
star
3

fir-mac

fir.im client on macOS
Swift
117
star
4

JingRound

仿jing.fm的音乐播放视图,支持旋转和自定义参数。
Objective-C
106
star
5

crystal-web-framework-stars

⭐️ Web frameworks for Crystal, most starred on Github
TypeScript
68
star
6

NSLoger

A forum based on Django
Python
57
star
7

NSPress

A Swift Blogging Platform. (No longer maintenance)
CSS
54
star
8

MyMacMusicPlayer

我的 Mac 音乐播放器!
Objective-C
46
star
9

V2exAPI

V2ex API 的 Swift 封装,支持 iOS/macOS (A V2ex API wrapper for iOS/macOS, built with Swift)
Swift
46
star
10

QiniuMacUploader

Mac 平台的七牛云拖拽上传小工具
Swift
23
star
11

flarum-ext-email-verification-switch

Disable new registered user email verification, will be activated automatically.
PHP
22
star
12

GTMBase64

A Simple Example For GTMBase64
Objective-C
18
star
13

awesome-cocoa-weekly

A curated list of awesome cocoa weekly
18
star
14

VVTool

VirtualView 实时预览工具
Ruby
16
star
15

emlog2typecho

帮你从Emlog转换到Typecho(数据库)
Python
15
star
16

Aoxiang

A lightweight HTTP server library written in Swift for iOS/macOS/tvOS.
Swift
14
star
17

appstore-connect-sdk

A TypeScript module for Node.js that interacts with the App Store Connect API, providing support for all APIs based on OpenAPI specification.
TypeScript
13
star
18

HowColor

A small game, written in Swift.
Swift
11
star
19

ISFIRVersionCheck

fir 版本自动检测,有新版本弹 Alert 前往更新
Objective-C
11
star
20

Worktile-SwiftSDK

Worktile 基于 Swift 的 SDK
Swift
8
star
21

react-native-cupertino-list

a Cupertino/iOS list for React Native
Java
7
star
22

pan-naming-master

夸克/阿里网盘批量重命名油猴脚本
Svelte
6
star
23

ISPhotoBrowser

A simple iOS photo browser written in Swift.
Swift
4
star
24

SwiftWhois

SwiftWhois is a Swift library for retrieving WHOIS information of domains.
Swift
4
star
25

react-flex-images

A lightweight react wrapper for creating fluid galleries as seen on Flickr and Google Images, based on Pixabay/JavaScript-flexImages
TypeScript
3
star
26

PTFakeTouch

Simulate touch events for iOS[User mode]
Ruby
2
star
27

react-ui-framework-stars

⭐️ React UI frameworks, most starred on Github
TypeScript
2
star
28

logpage

Helps you quickly deploy a live updated Changelog page based on a CHANGELOG.md file, inspired by headwayapp.co, LogLive.
JavaScript
1
star
29

ISRefresh

Add pull-to-refresh to UIScrollView,UITableView,UICollectionView
Objective-C
1
star
30

FaceDetectionDemo

An example of face recognition on iOS
Swift
1
star
31

ISHappyPuzzle

just want to hapyy puzzle!
Swift
1
star
32

cocoa.directory

A searchable and filterable directory of iOS/OC/Swift libraries.
JavaScript
1
star
33

ScreenFlashEffect

iOS屏幕闪烁效果
Objective-C
1
star
34

isaced

1
star
35

SwiftRubyStyle

Write Ruby style code in Swift.
Swift
1
star
36

isaced_Blue

自己搞的一个用于Emlog的模板,名为简约蓝。
PHP
1
star
37

pangu.cr

Paranoid text spacing in Crystal
Crystal
1
star
38

typerom-skip-take-error-example

A example for typeorm skip/take iessue : https://github.com/typeorm/typeorm/issues/9059
TypeScript
1
star