内容简介:Custom emojis are a fun way to bring more life and customizability to your apps. They're available in some of the most popular apps, such as Slack, Discord, and Twitch. However, iOS SDK doesn't provide straight forward support for custom emojis out of the
Custom emojis are a fun way to bring more life and customizability to your apps. They're available in some of the most popular apps, such as Slack, Discord, and Twitch. However, iOS SDK doesn't provide straight forward support for custom emojis out of the box. Now, you're a couple code lines away from adding them to your own app with this library.
Streamoji is a custom emoji rendering library for iOS. It supports GIF , images
, and unicode
Usage
1. Define Emojis
First step is to define your custom emojis in a dictionary with the key being the :shortcode: for the emoji and the EmojiSource being the, uhmmm, source of the emoji! It can be from GIF or image in a local asset, remote URL, or even a unicode character. You can also define aliases (alternate codes).
let exampleEmojis: [String: EmojiSource] = [
"baby_yoda": .imageAsset("baby-yoda-soup.gif"),
"banana_dance": .imageAsset("bananadance.gif"),
"excuse_me": .imageAsset("excuseme.gif"),
"party_parrot": .imageAsset("party_parrot.gif"),
"this_is_fine": .imageAsset("this-is-fine-fire.gif"),
"what": .imageAsset("what.png"),
"homer_disappear": .imageAsset("homer-disappear.gif"),
"let_me_in": .imageUrl("https://github.com/GetStream/Streamoji/blob/main/meta/emojis/let_me_in.gif?raw=true"),
"smiley": .character(":smile:"),
"heart": .character(":heart:"),
"banana": .alias("banana_dance"),
"parrot": .alias("party_parrot")
]
2. Configure UITextView
After defining your emojis, you should call UITextView.configureEmojis :
textView.attributedText = NSAttributedString(string:
"""
:banana_dance: Streamoji :party_parrot:
:baby_yoda: This is a UITextView! :excuse_me:
Supports:
GIF :this_is_fine:
Image :what:
Local file :homer_disappear:
Remote file :let_me_in:
Unicode :smiley:
"""
)
textView.configureEmojis(exampleEmojis, rendering: .highestQuality)
You can also tweak a couple (for now) rendering options: quality and scale in relation to the surrounding text.
Example
To run the example project, clone the repo, and run pod install from the Example directory first.
Installation
Streamoji is available through CocoaPods . To install it, simply add the following line to your Podfile:
pod 'Streamoji'
Author
@cardoso , matheus@getstream.io
License
Streamoji is available under the MIT license. See the LICENSE file for more info.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
细节决定交互设计的成败
张亮 / 2009-3 / 49.00元
《细节决定交互设计的成败》是一本非常实用的有关软件界面的交互设计和可用性设计方面知识的书籍,通过采用一问一答的形式,你将会有针对性地学习到一些能够很快应用在自己软件开发工作中的细节知识和诀窍。例如,如何减轻用户的等待感,如何预防和减少用户的使用错误等。另外,你会发现阅读《细节决定交互设计的成败》时会非常轻松和愉悦;这是由于《细节决定交互设计的成败》写作上的两个特点:第一,采用较多日常生活中的例子来......一起来看看 《细节决定交互设计的成败》 这本书的介绍吧!
JSON 在线解析
在线 JSON 格式化工具
Markdown 在线编辑器
Markdown 在线编辑器