小编umu*_*g4d的帖子

在UILabel上使用NSMutableAttributedString时表情符号丢失

使用NSMutableAttributedString在UILabel上设置文本部分时遇到一些奇怪的问题。它显示了一些特定表情符号的奇异符号。这是我使用的代码和问题的屏幕截图。

guard var _comment = comment.comment ,let _username = comment.userName else { return }
var username = NSMutableAttributedString.init(string: _username)
var commentText = NSMutableAttributedString.init(string: _comment)
var commentTotal = NSMutableAttributedString.init()
commentTotal.append(username)
commentTotal.append(commentText)
self.userNameLabel.attributedText = commentTotal
Run Code Online (Sandbox Code Playgroud)

屏幕截图:

在此处输入图片说明

但是,如果我不使用NSMutableAttributedString就直接放置字符串,如下所示:

self.userName.text = _comment
Run Code Online (Sandbox Code Playgroud)

此输出显示正确的表情符号,没有问题。这是什么问题?有任何建议吗? 在此处输入图片说明

这是设置字体的代码:

if let font = UIFont.init(name: "Montserrat-Bold", size: self.userNameLabel.font.pointSize){
        username.addAttribute(NSFontAttributeName, value: font, range: NSRange.init(location: 0, length: _username.count))
        username.addAttribute(NSForegroundColorAttributeName, value: UIColor.init(red: 0/255, green: 0/255, blue: 0/255, alpha: 1.0), range: NSRange.init(location: 0, length: _username.count))
    }



if let font = UIFont.init(name: "Montserrat-Medium", size: self.userNameLabel.font.pointSize-1){ …
Run Code Online (Sandbox Code Playgroud)

nsattributedstring uilabel ios nsmutableattributedstring swift

6
推荐指数
1
解决办法
642
查看次数