如何在UILabel iOS中显示表情符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在UILabel iOS中显示表情符号相关的知识,希望对你有一定的参考价值。

我必须在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显示,任何人请建议我。

答案
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)!
另一答案

您可以使用⌃ ⌘ Space快捷方式显示符号面板,只需插入您正在寻找的表情符号,而无需unicode:

lbl.text = @"Happy to help you 

以上是关于如何在UILabel iOS中显示表情符号的主要内容,如果未能解决你的问题,请参考以下文章

在iOS 9.0中以编程方式显示表情符号键盘

在 Objective-C 中计算具有不同语言和表情符号的文本的 UILabel 高度

将 IOS 表情符号转换为 web 或 android 表情符号代码

如何获得 iOS 8.3 表情符号键盘高度?

像我们在 uitextfield 中插入表情符号(unicodes)一样插入图像

在这样的UILabel中获得正常外观的Unicode向下箭头⬇