An emoji-liked rating view for iOS, implemented in Swift3.

Overview

TTGEmojiRate

An emoji-liked rating view for iOS, implemented in Swift3.

Android version: PeterSmileRate by SilicorniO. Great work ! :)

Build Status Version License Platform Swift3

Apps Using Total Download

Screenshot

Inspired by Rating Version A - Hoang Nguyen

Rating Version A - Hoang Nguyen

Blog
土土哥的技术Blog - Swift开源项目: TTGEmojiRate的实现

Features

  • More interactive with Emoji and drag gesture.
  • Highly customizable.
  • Can be used in Interface Builder.

IB example

What

TTGEmojiRate is an emoji-liked rating view for iOS which is implemented in Swift.
You can drop up and down on the Emoji face to change the rate, which is more interactive.
TTGEmojiRate is also highly customizable that many features of it can be configure, like the emoji line width and the mouth width.

Usage

Use TTGEmojiRate

  1. Create an instance of EmojiRateView and add it to the parent view.
let rateView = EmojiRateView.init(frame: CGRectMake(0, 0, 200, 200))
rateView.center = self.view.center
self.view.addSubview(rateView)
  1. Drop a view in the Interface builder and set the Custom Class to EmojiRateView

Run example

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

Requirements

Swift3.
Xcode8.
iOS 8 and later.

Installation

CocoaPods

You can use CocoaPods to install TTGEmojiRate by adding it to your Podfile:

pod "TTGEmojiRate"

Carthage

You can use Carthage to install TTGEmojiRate by adding it to your Cartfile:

github "zekunyan/TTGEmojiRate"

Customization

Customization

rateValueChangeCallback

rateValueChangeCallback: ((newRateValue: Float) -> Void)? defines the callback closure when rateValue changes.

emojiRateView.rateValueChangeCallback = {(rateValue: Float) -> Void in
    NSLog("The new rate value is: \(rateValue)")
}

rateColorRange

rateColorRange: (from: UIColor, to: UIColor)
When rateValue changes from 0 to 5, the rateColor will change from the from: UIColor to to: UIColor.

emojiRateView.rateColorRange = (
    UIColor.redColor(), 
    UIColor.greenColor()
)

rateDragSensitivity

rateDragSensitivity: CGFloat defines the sensitivity when drag to change rateValue.

Author

zekunyan, [email protected]

License

TTGEmojiRate is available under the MIT license. See the LICENSE file for more info.

You might also like...
Flix is a film rating application for iOS.

Flix is a film rating application for iOS.

A simple star rating library for SwiftUI apps on macOS and iOS

DLDRating A simple star rating library for SwiftUI apps on macOS and iOS. Features Installation Usage Styling Credits DLDRating was made by Dionne Lie

TableViews - Emoji Table View For iOS With Swift
TableViews - Emoji Table View For iOS With Swift

TableViews Hello! This is EmojiTableView. Let me introduce you my first app when

A searchable emoji dropdown view.
A searchable emoji dropdown view.

NBEmojiSearchView Integrate a searchable emoji dropdown into your iOS app in just a few lines. To start searching, the user just types a :. Then, the

Emoji Keyboard SDK (iOS)
Emoji Keyboard SDK (iOS)

Makemoji SDK Makemoji is a free emoji keyboard for mobile apps. By installing our keyboard SDK every user of your app will instantly have access to ne

Custom emoji rendering library for iOS apps with support for GIF & still images
Custom emoji rendering library for iOS apps with support for GIF & still images

Custom emoji rendering library for iOS apps with support for GIF & still images - plug-in extension for UITextView - performance, cache ✅ - Made with 💘 by @GetStream

Emoji Keyboard for iOS
Emoji Keyboard for iOS

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

Croc is a swift emoji string parsing library
Croc is a swift emoji string parsing library

Croc is a library for parsing emojis on iOS. It provides a simple and lightweight interface for detecting, generating, categorizing and managing emoji characters, making emoji-powered features an easy task for developers.

Swiftly convert country codes and cultural terms to all 269 emoji flags without hassle
Swiftly convert country codes and cultural terms to all 269 emoji flags without hassle

Swiftly convert country codes and cultural terms to all 269 emoji flags without hassle

A machine learning based emoji image classifier
A machine learning based emoji image classifier

BQBClassifier 🕶️ Download From App Store Given that my photo albums are mixed with various emojis that often spoil my good mood, I wrote such an app

 emoji-picker demo 🥰
emoji-picker demo 🥰

emoji-picker demo 🥰 External dependencies Dependencies are managed by Swift Package Manager. SnapKit - a DSL to make Auto Layout easy on both iOS and

A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters

NSString+Emojize A category on NSString to turn codes from Emoji Cheat Sheet into Unicode emoji characters. Getting Started In order to use NSString+E

Effortless emoji-querying in Swift

EmojiKit EmojiKit is a simple emoji-querying framework in Swift. It is used in Paste, an Emoji Search app in the App Store. Installation If you’re usi

Emoji in Swift
Emoji in Swift

Smile ❤️ Support my apps ❤️ Push Hero - pure Swift native macOS application to test push notifications PastePal - Pasteboard, note and shortcut manage

A Swift framework for using custom emoji in strings.
A Swift framework for using custom emoji in strings.

Emojica – a Swift framework for using custom emoji in strings. What does it do? Emojica allows you to replace the standard emoji in your iOS apps with

A simple library that provides standard Unicode emoji support across all platforms

Twitter Emoji (Twemoji) A simple library that provides standard Unicode emoji support across all platforms. Twemoji v13.1 adheres to the Unicode 13.0

Swift emoji string parsing library
Swift emoji string parsing library

Croc is a library for parsing emojis on iOS. It provides a simple and lightweight interface for detecting, generating, categorizing and managing emoji

The world's largest independent emoji font.
The world's largest independent emoji font.

The world's largest independent emoji font.

Emoji Tab Bar button badges ✨

SuperBadges Add emojis and colored dots as badges for your Tab Bar buttons ✨ Usage Add an emoji badge: YourTabBarController.addDotAtTabBarItemIndex(

Comments
  • Added in TableView... conflict scrollview with rate pan gesture

    Added in TableView... conflict scrollview with rate pan gesture

    hi, i use it in a tableview cell, do you have any suggestion about handling pan gesture ... how can i handle tableview vertical scrollview and emoji rate pan gesture?

    opened by farshadjahanmanesh 6
  • memory problem

    memory problem

    hi, thanks for sharing this fantastic emoji rating. I used it , but i occurred a memory problem. when it load the view the memory would rush to 270M, and then it will crash on 1g ram device. how could i solve this problem, thanks?

    UPDATE

    the memory problem is caused by loading a pdf file, not the TTEmojiRting. sorry for bothering and really thanks to zekunyan's patient answers

    opened by rickysou 6
  • Android version of the library

    Android version of the library

    Hello,

    I have created the same library for Android called PeterSmileRate. You can find it in Github: https://github.com/SilicorniO/PeterSmileRate.

    I post this message to help people that are looking for the same library for Android.

    Best Regards and thanks for your hard work!

    opened by SilicorniO 1
  • Correct the spelling of CocoaPods in README

    Correct the spelling of CocoaPods in README

    This pull requests corrects the spelling of CocoaPods 🤓 https://github.com/CocoaPods/shared_resources/tree/master/media

    Created with cocoapods-readme.

    opened by ReadmeCritic 0
Owner
zekunyan
iOS Programmer
zekunyan
A simple and configurable rating/favorite view.

ImageRating A simple and configurable rating/favorite view. ImageRating will display a sequence of SFSymbols from 0-maxImages in half or whole increme

Ferdinand G Rios 0 Dec 24, 2021
A star rating control for iOS/tvOS written in Swift

Cosmos, a star rating control for iOS and tvOS This is a UI control for iOS and tvOS written in Swift. It shows a star rating and takes rating input f

Evgenii Neumerzhitckii 2.1k Dec 28, 2022
StarryStars is iOS GUI library for displaying and editing ratings

StarryStars StarryStars is iOS GUI library for displaying and editing ratings Features StarryStars' RatingView is both IBDesignable and IBInspectable

Peter Prokop 175 Nov 19, 2022
A modern utility that reminds your iOS app's users to review the app in a non-invasive way.

SiriusRating A modern utility that reminds your iOS app's users to review the app in a non-invasive way. Features SwiftUI and UIKit support Configurab

The App Capital 5 Sep 24, 2022
zekunyan 608 Dec 30, 2022
This is a Swift based demo project to show how to make the transition Pinterest liked.

PinterestSwift Compatible with Xcode 11 / Swift 5.0 This is a Swift based demo project to show how to make the transition Pinterest 2.0+ liked. Refer

Nicholas Tau 1.9k Dec 20, 2022
Basic calculator app for iOS devices using Swift3. Created for learning purpose.

iOS Calculator App Basic calculator app for iOS devices using Swift 4 and Xcode 9. Created for learning purpose. How to use Just download source code

Jogendra 15 Dec 28, 2022
Simple star rating view for iOS written in Objective-C

HCSStarRatingView HCSStarRatingView is a UIControl subclass to easily provide users with a basic star rating interface. It supports all device resolut

Hugo Sousa 1.3k Dec 21, 2022
A simple and configurable rating/favorite view.

ImageRating A simple and configurable rating/favorite view. ImageRating will display a sequence of SFSymbols from 0-maxImages in half or whole increme

Ferdinand G Rios 0 Dec 24, 2021
A star rating control for iOS/tvOS written in Swift

Cosmos, a star rating control for iOS and tvOS This is a UI control for iOS and tvOS written in Swift. It shows a star rating and takes rating input f

Evgenii Neumerzhitckii 2.1k Dec 28, 2022