这个问题已经有了答案:
How to separate emojis entered (through default keyboard) on textfield
2个答案
swift - 单独的表情符号分成三个符号-LMLPHP
如果启动textedit并在edit下选择emoji&symbols,则sierra下的smileys和people将有291个符号列表(macos 10.12)。我想用NSCollectionView列出这291个表情符号。现在,我有一个由291个表情符号组成的字符串。我将它们分开,创建一个数组,如下所示。

class SmileyViewController: NSViewController, NSCollectionViewDelegate, NSCollectionViewDataSource {
    // MARK: - Variables
    var emojiArray = [String]()

    override func viewDidLoad() {
        super.viewDidLoad()

        let emojiString = "😀😃😄😁😆😅😂🤣..." // 291 symbols
        emojiArray = emojiString.characters.map { String($0) }
        print(emojiArray.count) // 408, not 291
        collectionView.reloadData()
    }
}

运行上面的代码,我得到的数组实际上包含408个符号。如果我仔细观察,其中一些将自己分成三个符号。例如,一个名为“金发男人”的符号将自己变成三个符号。其中一个是性别符号。this topic表示单个表情符号可能是几个或多个符号的组合。我能做些什么把这个包含291个符号的字符串分离成包含291个符号的数组吗?谢谢。
swift - 单独的表情符号分成三个符号-LMLPHP

最佳答案

使用emoji创建集合视图的更好方法是使用它们的unicode字符。https://apps.timwhitlock.info/emoji/tables/unicode列出可用的表情符号。我使用的一个实现是我的答案:Emoji Picker Ios Swift

关于swift - 单独的表情符号分成三个符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45113928/

10-10 20:45
查看更多