forked from shadowfacts/Tusker
Fix MultiSourceEmojiLabel
This commit is contained in:
parent
b21703f6d9
commit
35b390d3c1
|
@ -22,10 +22,6 @@ class MultiSourceEmojiLabel: UILabel, BaseEmojiLabel {
|
||||||
func setEmojis<ID: Hashable>(pairs: [(String, [Emoji])], identifier: ID) {
|
func setEmojis<ID: Hashable>(pairs: [(String, [Emoji])], identifier: ID) {
|
||||||
guard pairs.count > 0 else { return }
|
guard pairs.count > 0 else { return }
|
||||||
|
|
||||||
self.emojiIdentifier = identifier
|
|
||||||
emojiRequests.forEach { $0.cancel() }
|
|
||||||
emojiRequests = []
|
|
||||||
|
|
||||||
var attributedStrings = pairs.map { NSAttributedString(string: $0.0) }
|
var attributedStrings = pairs.map { NSAttributedString(string: $0.0) }
|
||||||
|
|
||||||
func recombine() {
|
func recombine() {
|
||||||
|
@ -40,7 +36,7 @@ class MultiSourceEmojiLabel: UILabel, BaseEmojiLabel {
|
||||||
self.replaceEmojis(in: string, emojis: emojis, identifier: identifier) { (attributedString, _) in
|
self.replaceEmojis(in: string, emojis: emojis, identifier: identifier) { (attributedString, _) in
|
||||||
attributedStrings[index] = attributedString
|
attributedStrings[index] = attributedString
|
||||||
DispatchQueue.main.async { [weak self] in
|
DispatchQueue.main.async { [weak self] in
|
||||||
guard let self = self, self.emojiIdentifier == AnyHashable(identifier) else { return }
|
guard let self else { return }
|
||||||
recombine()
|
recombine()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue