Android/iOS键盘:贴纸API

Android/iOS键盘:贴纸API,android,ios,keyboard,emoji,Android,Ios,Keyboard,Emoji,我正在寻找一种方法来创建一个自定义键盘来添加自定义表情符号和标签。 到目前为止,我已经发现表情符号只是unicode字符,为了添加自定义表情符号,应该提供一种自定义字体,并将专用表情符号映射到字体中预定义的unicode字符。此字体应可在应用程序的所有用户中使用,以便正确显示自定义表情符号 当涉及到贴纸时,问题就出现了(那些可以在Facebook评论中添加的大图片)。我找不到任何关于它们如何工作的有用信息,以及在自定义键盘中嵌入它们并进一步粘贴到文本的界面是什么。Google Play和AppS

我正在寻找一种方法来创建一个自定义键盘来添加自定义表情符号和标签。 到目前为止,我已经发现表情符号只是unicode字符,为了添加自定义表情符号,应该提供一种自定义字体,并将专用表情符号映射到字体中预定义的unicode字符。此字体应可在应用程序的所有用户中使用,以便正确显示自定义表情符号

当涉及到贴纸时,问题就出现了(那些可以在Facebook评论中添加的大图片)。我找不到任何关于它们如何工作的有用信息,以及在自定义键盘中嵌入它们并进一步粘贴到文本的界面是什么。Google Play和AppStore上都有可用的应用程序(例如“Go Keyboard”应用程序) 谁能给我指出正确的方向吗

所以问题是:


如何将贴纸嵌入到文本中,以便进一步与第三方应用程序共享?我的主要想法是了解是否有一个通用的标签标准或API(比如表情符号)?或者使用标签的唯一方法是使用/构建一个带有后端服务器的自定义聊天API,这意味着只有使用相同服务的应用程序才能可靠地解码共享文本以正确显示标签?

我一直在一个iOS项目中工作,以证明在聊天对话中使用表情和标签的概念

您可以在my中查看它,如果您愿意,也可以进行贡献(欢迎进行回顾和改进)

我所做的是,使用
NSTextAttachment
对象类型在
UITextView
中附加图像

要将图像显示为表情符号,请在UITextView中显示:

//使用textView的内容初始化对象
NSMutableAttributedString*attributeString=[[NSMutableAttributedString alloc]initWithAttributedString:textview.attributedText];
//初始化要用作表情符号的选定图像
NSTextAttachment*textAttachment=[[NSTextAttachment alloc]init];
textAttachment.image=[UIImage ImageName:@“MicheyMouse”];
textAttachment.image=[UIImage imageWithCGImage:textAttachment.image.CGImage比例:25方向:UIImageOrientationUp];
NSAttributedString*AttributeStringWithImage=[NSAttributedString attributedStringWithAttachment:textAttachment];
[attributeString AppendAttributeString:attrStringWithImage];
//图像后的空白区域
NSAttributedString*blank=[[NSAttributedString alloc]initWithString:@'';
[attributeString AppendAttributeString:空白];
textview.attributedText=属性字符串;
如果您想将图像用作贴纸,请遵循以下几行:

NSTextAttachment*textAttachment=[[NSTextAttachment alloc]init];
textAttachment.image=[UIImage ImageName:贴纸];
textAttachment.image=[UIImage imageWithCGImage:textAttachment.image.CGImage比例:12方向:UIImageOrientationUp];//-->更改缩放比例,以更改图像大小(或创建所需大小的图像)
NSAttributedString*AttributeStringWithImage=[NSAttributedString attributedStringWithAttachment:textAttachment];
cell.textLabel.AttributeText=attrStringWithImage
在本例中,我将图像作为贴纸直接粘贴在单元格中(您可以将此单元格作为聊天气球)

换句话说,在第一个代码行中,我基本上在UITextView中显示了图像,在第二个代码行中,我将图像直接放在聊天行中

我必须自己制作贴纸/表情键盘,我还做了一些工作来处理表情键盘和打字键盘之间的切换


这是项目示例的GitHub存储库:

下载quickblox演示。他们使用的是贴纸,你可能会从中了解到这一点that@Harry非常感谢您的参考,这绝对有意义。然而,从我所看到的QuickBlox是一个聊天服务,它有自己的后端和移动SDK。毫无疑问,构建自定义API以将任何功能嵌入到消息(包括标签)中是可能的。然而,我要寻找的是一种将贴纸嵌入邮件的通用标准,这样就可以将邮件共享给其他支持贴纸的应用程序(就像表情符号一样)。可能是我误解了贴纸的工作方式吗?嗨,我想显示gif,但在单元格中显示时图像没有动画。你能帮忙吗?