ios - 如何将自定义表情符号的文本代码与 UITextView 中的文本一起发送到服务器?

标签 ios swift uitextview emoji

我添加了一个 TextView 并将其委托(delegate)分配给 View Controller 。

@IBOutlet var textview: UITextView!
var attributedString = NSMutableAttributedString()

override func viewDidLoad() {
    super.viewDidLoad()
    textview.delegate = self
    attributedString = NSMutableAttributedString(attributedString:textview.attributedText!)

}

我有一个按钮,单击该按钮时将使用以下代码将自定义表情符号添加/附加到包含 NSTextAttachmentNSAttributedString TextView 。

@IBAction func actAngry(_ sender: Any) {
    let attachment = NSTextAttachment()
    attachment.image = UIImage(named: "Angry")

    let attributedEmoji = NSAttributedString(attachment: attachment)
    attributedString.append(attributedEmoji)

    textview.attributedText = attributedString
}

现在,当我单击发送按钮时,我想用一些代码替换该自定义表情符号,例如#43567,这是表情符号的自定义代码。

@IBAction func sendNow(_ sender: Any) {
    print(textview.attributedText)
    print(textview.text)
}

因此,如果输入嗨,你好吗?,然后按actAngry按钮。 它看起来像嗨,你好吗?[Angry Image]

Textview with text and custom emoji

它应该转换为:Hi, How are you?#43567,以便我可以将其发送到服务器。

我尝试过什么,我尝试按照委托(delegate)方法来获得一些想法,但失败了:

func textView(_ textView: UITextView, shouldInteractWith textAttachment: NSTextAttachment, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {

最佳答案

找到THIS令人惊叹的库来执行此任务并使用它,您需要将两个文件添加到下面列出的项目中:

Emoji.swift 
String+Emoji.swift

代码太长,所以我无法将其粘贴到此处。

现在,当您想向服务器发送文本时,可以这样使用它:

let emojiWithString = "Hi, How are you? 😁"
print(emojiWithString.emojiEscapedString)

这将打印:嗨,你好吗? :咧嘴笑:

您现在可以将此文本发送到服务器,当您从服务器收到相同的字符串时,您可以使用相同的库将字符串转换为表情符号:

let str = "Hi, How are you? :grin:"
print(str.emojiUnescapedString)

这将打印:

Hi, How are you? 😁

希望这会有所帮助。

关于ios - 如何将自定义表情符号的文本代码与 UITextView 中的文本一起发送到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42173129/

相关文章:

ios - GPUImage:试图过度释放帧缓冲区,您是否忘记在使用 -imageFromCurrentFramebuffer 之前调用 -useNextFrameForImageCapture?

ios - 带导航栏的搜索 Controller

ios - uitextview 成为第一响应者后,UIButton 不调度触摸事件

iphone - 自定义 UITableViewCell 中的 UITextView 不响应 didSelectRowAtIndexPath

ios - 升级到 Xcode 7 后无法写入文档目录

ios - UIRefreshControl 和 UITableView 的 backgroundVIew

swift - 如何将值从 JSON 添加到模型,在我下面的代码中

ios - 如何从我的 iPhone 应用程序导入/导出我的 Realm 数据库

ios - Swift Facebook SDK 注销

ios - 辅助功能辅助功能递减()没有被调用