2

我们希望通过拥有一个能够发送贴纸的键盘来构建 iOS8 中的自定义键盘框架。

与此非常相似: http ://stickerboard.me/

我们团队中有一个应用程序开发人员(部分正确)说用于 SMS 和类似内容的键盘需要一个包含 unicode 字符的键盘,但是我们得到的图像(类似于stickerboard.me 中的图像)不是标准的 unicode 字符。

我的问题是:

  1. 是否有可能在 iOS8 中有一个自定义键盘,允许将贴纸添加到系统范围的消息(本机 SMS、Facebook、什么是应用程序,无处不在)?
  2. 如果不可能,是否可以将非标准 unicode 字符的图像以某种方式转换为 unicode 并在发件人和收件人的手机上正确显示?

谢谢。

4

3 回答 3

0

这是可能的(使用普通的普通图像),但用户体验不佳(2014 年 11 月)。

这里有一些快速提示可以帮助您上路。

  • 将 RequestsOpenAccess 添加到您的 plist 并将其设置为 YES
  • 用户需要允许完全访问
  • 将图像设置到 UIPasteBoard
  • 用户需要粘贴图片
于 2014-11-25T11:19:48.233 回答
0

否(2014 年 11 月)。

“在当前文本输入对象的文本插入点以未归属的 NSString 对象的形式提供文本。”

https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html

于 2014-11-04T00:54:54.813 回答
0

我不确定您是否可以通过 SMS 执行此操作,因为取决于接收消息的另一部分,但您绝对可以使用自己的应用程序进行聊天对话。

我一直在做一个 iOS 项目来证明在聊天对话中使用表情符号和贴纸的概念。

您可以在我的GitHub 存储库中查看它并根据需要做出贡献(欢迎查看和改进)。

我所做的是,使用object类型NSTextAttachment在 中附加图像。UITextViewNSAttributedString

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

// initialize object with the content of textView
NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithAttributedString:textview.attributedText];

// initialize selected image to be used as emoji
NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
textAttachment.image = [UIImage imageNamed:@"MicheyMouse"];
textAttachment.image = [UIImage imageWithCGImage:textAttachment.image.CGImage scale:25 orientation:UIImageOrientationUp];

NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];
[attributeString appendAttributedString:attrStringWithImage];

// blank space after the image
NSAttributedString *blank = [[NSAttributedString alloc] initWithString:@" "];
[attributeString appendAttributedString:blank];

textview.attributedText = attributeString;

如果您想将图像用作贴纸,请按照以下说明操作:

NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
textAttachment.image = [UIImage imageNamed:sticker];
textAttachment.image = [UIImage imageWithCGImage:textAttachment.image.CGImage scale:12 orientation:UIImageOrientationUp]; // --> change de scale, to change image size (or create the image in size that you want)

NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];

cell.textLabel.attributedText = attrStringWithImage

在此示例中,我将图像作为贴纸直接附加到单元格中(您可以将此单元格作为聊天气球)。

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

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

这是项目示例的 GitHub 存储库:https ://github.com/cairano/CIStickerFacilities

于 2016-04-23T13:48:50.047 回答