我必须在UILabel中轻松地显示textview文本。
在UILabel
-
lbl.text = @"Happy to help you \U0001F431;
它表现得很好。
在UITextView
-
我尝试在字符串中转换UITextView
文本,然后记录为 -
%F0%9F%99%88%F0%9F%99%89%F0%9F%99%8A
如何编码我可以在UILabel
中显示的内容,有人请建议我。
答案 0 :(得分:46)
您可以使用⌃ ⌘ Space
快捷方式显示符号面板,只需插入您正在寻找的表情符号,而无需使用unicode:
lbl.text = @"Happy to help you ";
(如果浏览器没有显示表情符号,只需将上面的代码复制到Xcode)
答案 1 :(得分:25)
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)!
SWIFT - 4或更高
let str = "Happy to help you \U0001F431"
let data : NSData = str.dataUsingEncoding(NSNonLossyASCIIStringEncoding)!
let valueUnicode : String = String(data: data as Data, encoding: String.Encoding.utf8)!
let dataa : NSData = valueUnicode.data(using: String.Encoding.utf8)! as NSData
let valueEmoj : String = String(data: dataa as Data, encoding: String.Encoding.nonLossyASCII)!
答案 2 :(得分:6)
在Xcode版本7.2.1上, 您可以使用以下快捷方式显示符号面板并插入表情符号:
<强>快捷键:强> (同时按下以下三个键)
Ctrl Command Space
答案 3 :(得分:6)
Swift 3.0 解决方案更新
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)
然后将表情符号显示给UILablel
答案 4 :(得分:4)
如果是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)