我不确定您是否可以通过 SMS 执行此操作,因为取决于接收消息的另一部分,但您绝对可以使用自己的应用程序进行聊天对话。
我一直在做一个 iOS 项目来证明在聊天对话中使用表情符号和贴纸的概念。
您可以在我的GitHub 存储库中查看它并根据需要做出贡献(欢迎查看和改进)。
我所做的是,使用object类型NSTextAttachment
在 中附加图像。UITextView
NSAttributedString
要将图像显示为表情符号,请在 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