【问题标题】:How to set 2 lines of attribute string in UILabel如何在 UILabel 中设置 2 行属性字符串
【发布时间】:2016-09-06 10:14:53
【问题描述】:

我想在我的UILabel 中设置属性文本。它应该是 2 行。所以我做了2个这样的属性字符串。

var myMutableTitle = NSMutableAttributedString(string: title!, attributes: [NSFontAttributeName:UIFont.init(name: fontBold, size: 15.0)!])
var mutDj=NSMutableAttributedString(string: dj!, attributes: [NSFontAttributeName:UIFont.init(name: font, size: 15.0)!])

如何附加这两个属性字符串以显示在 2 行中

Title
DJ name

请帮助我。 谢谢

【问题讨论】:

    标签: ios swift nsattributedstring


    【解决方案1】:

    \n 添加到第二个属性文本

    var myMutableTitle = NSMutableAttributedString(string: title!, attributes: [NSFontAttributeName:UIFont.init(name: fontBold, size: 15.0)!])
    var mutDj= NSMutableAttributedString(string: "\n \(dj)", attributes: [NSFontAttributeName:UIFont.init(name: font, size: 15.0)!])
    myMutableTitle.appendAttributedString(mutDj)
    
    yourLabel.numberOfLines = 0
    yourLabel.attributedText = myMutableTitle
    

    【讨论】:

    • 谢谢,但我有一个小问题,这个 dj 名称是可选的(“dj 名称”)我该如何解决这个问题?
    • 只需添加 (dj!)
    【解决方案2】:

    您可以像这样创建单个而不是创建 2 个NSMutableAttributedString

    let str1 = "\(title!) \n(dj!)"
    let attributedStr = NSMutableAttributedString(string: str1)
    attributedStr.addAttribute(NSFontAttributeName, value: UIFont.init(name: fontBold, size: 15.0)!, range: (str1 as NSString).rangeOfString(title!))
    attributedStr.addAttribute(NSFontAttributeName, value: UIFont.init(name: font, size: 15.0)!, range: (str1 as NSString).rangeOfString(dj!))
    label.attributedText = attributedStr
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多