- Notifications
You must be signed in to change notification settings - Fork15
A macOS-style popover to select emojis in your iOS apps
License
htmlprogrammist/EmojiPicker
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
EmojiPicker is a customizable package
implementing macOS-style emoji picker popover
Ready for use with Swift 4.2+ on iOS 11.1+
TheSwift Package Manager is a tool for automating the distribution of Swift code and is integrated into theswift
compiler. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.
In Xcode navigate to File → Swift Packages → Add Package Dependency. Use this URL to add the dependency:
https://github.com/htmlprogrammist/EmojiPicker
Once you have your Swift package set up, adding as a dependency is as easy as adding it to thedependencies
value of yourPackage.swift
.
dependencies:[.package(url:"https://github.com/htmlprogrammist/EmojiPicker",.upToNextMajor(from:"3.0.0"))]
TheCocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrateEmojiPicker
into your Xcode project using CocoaPods, specify it in yourPodfile
:
pod'EmojiPicker',:git=>'https://github.com/htmlprogrammist/EmojiPicker'
If you prefer not to use any of dependency managers, you can integrate manually. PutSources/EmojiPicker
folder in your Xcode project. Make sure to enableCopy items if needed
andCreate groups
.
CreateUIButton
and add selector as action:
@objcprivatefunc openEmojiPickerModule(sender:UIButton){letviewController=EmojiPickerViewController() viewController.delegate=self viewController.sourceView= senderpresent(viewController, animated:true)}
And then recieve emoji in the delegate method:
extensionViewController:EmojiPickerDelegate{func didGetEmoji(emoji:String){ emojiButton.setTitle(emoji, for:.normal)}}
Delegate for EmojiPicker to provide chosen emoji.
viewController.delegate=self
A view containing the anchor rectangle for the popover. You can create anyUIView
instances and set them as thesender
.
viewController.sourceView= sender
Also, there is way more settings for configuration:
Color for the selected emoji category. The default value of this property is.systemBlue
.
viewController.selectedEmojiCategoryTintColor=.systemRed
The direction of the arrow for EmojiPicker. The default value of this property is.up
.
viewController.arrowDirection=.up
Inset from thesourceView
border. The default value of this property is0
.
viewController.horizontalInset=0
Defines whether to dismiss emoji picker or not after choosing. The default value of this property istrue
.
viewController.isDismissedAfterChoosing=true
Custom height for EmojiPicker. The default value of this property isnil
.
viewController.customHeight=300
Feedback generator style. To turn off, setnil
to this parameter. The default value of this property is.light
.
viewController.feedbackGeneratorStyle=.soft
To play around with the project, contribute to it, see how it works or adapt it for yourself:
- Clone or fork this repository to yourself
- Open
Example App/EmojiPicker.xcworkspace
file - Expand
Pods
target - Expand
Development Pods
andEmojiPicker
directories. Here you can make your changes - Build & Run project to see an immediate result on an example application. Have fun!
- Chinese 🇨🇳
- English 🇬🇧
- French 🇫🇷
- German 🇩🇪
- Hindi 🇮🇳
- Russian 🇷🇺
- Turkish 🇹🇷
- Ukrainian 🇺🇦
You can also contribute your language to this list. Please, readfollowing heading for more information.
❗️ Note that the languages are arranged in alphabetical order
This project is based onMCEmojiPicker and is one big contribution in it. And of course contributions are welcomed and encouraged here! Please see theContributing guide.
To be a truly great community, we need to welcome developers from all walks of life, with different backgrounds, and with a wide range of experience. A diverse and friendly community will have more great ideas, more unique perspectives, and produce more great code. We will work diligently to make our community welcoming to everyone.
To give clarity of what is expected of our members, we have adopted the code of conduct defined by the Contributor Covenant. This document is used across many open source communities, and we think it articulates our values well. For more, see theCode of Conduct.
About
A macOS-style popover to select emojis in your iOS apps