这个问题已经有了答案:
How to separate emojis entered (through default keyboard) on textfield
2个答案
如果启动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个符号的数组吗?谢谢。
最佳答案
使用emoji创建集合视图的更好方法是使用它们的unicode字符。https://apps.timwhitlock.info/emoji/tables/unicode列出可用的表情符号。我使用的一个实现是我的答案:Emoji Picker Ios Swift
关于swift - 单独的表情符号分成三个符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45113928/