Здесь - довольно хорошая статья, в которой упоминаются смайлики iOS и их код. Например \ue008
для маленькой камеры.
Я пробовал это в своем коде:
var myText: String = "\ue008"
Это не принимается xCode. Как включить его?
Здесь - довольно хорошая статья, в которой упоминаются смайлики iOS и их код. Например \ue008
для маленькой камеры.
Я пробовал это в своем коде:
var myText: String = "\ue008"
Это не принимается xCode. Как включить его?
Что из быстрой документации:
let dollarSign = "\u{24}" // $, Unicode scalar U+0024
let blackHeart = "\u{2665}" // ♥, Unicode scalar U+2665
let sparklingHeart = "\u{1F496}" // 💖, Unicode scalar U+1F496
Если я понимаю, чего вы пытаетесь достичь, тогда:
Нажмите " ctrl + cmd + space" в XCode. Пример использования смайликов "сердца"
cell.textLabel?.text = "❤️" + " \(liker) liked \(userBeingliked) photo"
Вам не нужны константы unicode. Просто используйте средство просмотра персонажей и введите символ напрямую. 😝
let sparklingHeart = "💖"
1 Декодирование Unicode:
extension String {
var decodeEmoji: String{
let data = self.data(using: String.Encoding.utf8);
let decodedStr = NSString(data: data!, encoding: String.Encoding.nonLossyASCII.rawValue)
if let str = decodedStr{
return str as String
}
return self
}
}
Использование
let decodedString = yourString.decodeEmoji
2 Кодирование Юникода:
extension String {
var encodeEmoji: String{
if let encodeStr = NSString(cString: self.cString(using: .nonLossyASCII)!, encoding: String.Encoding.utf8.rawValue){
return encodeStr as String
}
return self
}
}
Использование
let encodedString = yourString.encodeEmoji
Как сказал Грег выше, вы можете напрямую вводить emoji в Swift, используя просмотрщик символов OSx. По умолчанию функция просмотра символов отключена. Вот как включить его:
Перейдите в раздел Системные настройки > Язык и регион > Настройки клавиатуры > Клавиатура, затем установите флажок Отобразить клавиатуру, Emoji и Symbol Viewers в строке меню. После проверки вы можете открыть программу просмотра персонажа из верхней правой панели меню рядом с вашими значками Wifi и Date/Time.
Вы можете вставить emoji непосредственно с помощью ⌘ ^ Space
.
Или, основываясь на ответе Грега:
var myText: String = "\u{e008}"
Swift поддерживает символы Unicode в строках и даже в идентификаторах. Поэтому используйте этот ярлык ctrl-cmd-space для входа в средство просмотра символов вместо escape-последовательностей backslash-u, если только вам не требуется полная поддержка устройств, не поддерживающих эмодзи Apple. В качестве альтернативы, если у вас есть сенсорная панель MacBook Pro, используйте значок "Просмотр символов" всякий раз, когда вы его видите.
от вашего хекса "0x1F52D" до настоящего эмодзи
let c = 0x1F602
следующим шагом будет получение Uint32 от вашего Hex
let intEmoji = UnicodeScalar(c!).value
из этого вы можете сделать что-то вроде
titleLabel.text = String(UnicodeScalar(intEmoji)!)
здесь у вас есть "😂"
он работает с шестнадцатеричным диапазоном тоже
let emojiRanges = [
0x1F600...0x1F636,
0x1F645...0x1F64F,
0x1F910...0x1F91F,
0x1F30D...0x1F52D
]
for range in emojiRanges {
for i in range {
let c = UnicodeScalar(i)!.value
data.append(c)
}
}
чтобы получить несколько UInt32 из вашего диапазона Hex для примера