如何将表情符号转换为表情符号?

时间:2018-05-05 11:50:21

标签: ios swift uitextview emoticons

有没有办法转换":)"喜欢:detection and conversion,我在聊天应用程序中有一个UITextView,它应该将笑脸转换为相应的表情符号。

4 个答案:

答案 0 :(得分:0)

获取官方列表:emoji

只是一个例子:yourTextView.text = "your smiley: \u{1f642}"

如果你想动态地将表情符号转换为表情符号,你需要自己指定它并分析输入字符串或使用第三方lib,例如pods用于通过文本更改事件转换和观看输入字符串,例如:docs

答案 1 :(得分:0)

您可以使用此软件包npm中的逻辑,还可以找到一张微笑图和各自的表情符号图: https://www.npmjs.com/package/smile2emoji

答案 2 :(得分:0)

我已经基于@ emish89 https://www.npmjs.com/package/smile2emoji建议的npm软件包创建了这个简单的类。

https://gist.github.com/lorenzOliveto/f20a89e9f68276cae21497a177ad8a4c

答案 3 :(得分:0)

Swift 5

您应该为您的 textViewDidChange 实现委托 UITextView 并在其文本中找到所有需要的子字符串,然后将它们替换为 textStorage 属性:

extension ViewController : UITextViewDelegate {
    
    func textViewDidChange(_ textView: UITextView) {
        guard let text = textView.text else { return }
        
        var index = text.startIndex
        while let range = text.range(of: ":)", range: index..<text.endIndex) {
            index = range.upperBound
            textView.textStorage.replaceCharacters(in: NSRange(range, in: text), with: "?")
        }
    }
}

它在编辑或粘贴文本时有效。