Как показать Emoji в UILabel iOS
Я должен показать текст textview smily в UILabel.
в UILabel -
lbl.text = @"Happy to help you U0001F431;
правильно его показывает.
на UITextView
-
Я пытался преобразовать UITextView
текст в строке, а затем войти -
%F0%9F%99%88%F0%9F%99%89%F0%9F%99%8A
как кодировать, который я могу показать в UILabel
, кто-нибудь пожалуйста, предложите мне.
5 ответов
NSString *str = @"Happy to help you \U0001F431";
NSData *data = [str dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *valueUnicode = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData *dataa = [valueUnicode dataUsingEncoding:NSUTF8StringEncoding];
NSString *valueEmoj = [[NSString alloc] initWithData:dataa encoding:NSNonLossyASCIIStringEncoding];
_lbl.text = valueEmoj;
SWIFT-3 ИЛИ ВЫШЕ
let str = "Happy to help you \U0001F431"
let data : NSData = str.dataUsingEncoding(NSNonLossyASCIIStringEncoding)!
let valueUnicode : String = String(data: data, encoding: NSUTF8StringEncoding)!
let dataa : NSData = valueUniCode.dataUsingEncoding(NSUTF8StringEncoding)!
let valueEmoj : String = String(data: dataa, encoding: NSNonLossyASCIIStringEncoding)!
можно использовать ⌃ ⌘ Space
ярлык, чтобы показать панели символов и просто вставить смайлик, который вы ищете непосредственно без unicode:
lbl.text = @"Happy to help you ";
(просто скопируйте код выше в Xcode, если браузер не показывает emoji)
на Xcode версии 7.2.1, Вы можете использовать ярлык ниже, чтобы показать панели символов и вставить emoji:
ярлык: (нажмите три клавиши ниже вместе)
Ctrl Command Space
Swift 3.0 решение обновление, данное @Bhavesh Nayi
let data = txtMessage.text!.data(using: .nonLossyASCII)
let emojiString = String.init(data: data!, encoding: .utf8)
и отправьте его на сервер чата как
let data = message.message.data(using: .utf8)
let emoji = String.init(data: data!, encoding: .nonLossyASCII)
а затем показать emoji в UILablel
в случае swift 2.3 или ниже
let textViewData : NSData = textViewString.dataUsingEncoding(NSNonLossyASCIIStringEncoding)!
let valueUniCode : String = String(data: textViewData, encoding: NSUTF8StringEncoding)!
let emojData : NSData = valueUniCode.dataUsingEncoding(NSUTF8StringEncoding)!
let emojString : String = String(data: emojData, encoding: NSNonLossyASCIIStringEncoding)!
в случае Swift 3.0 или выше
let textViewData = textViewString.data(using: .nonLossyASCII)
let valueUniCode = String.init(data: textViewData!, encoding: .utf8)!
let emojData = valueUniCode.data(using: .utf8)
let emojString = String.init(data: emojData, encoding: .nonLossyASCII)