【问题标题】:How to make a specific fragment of an NSAttributedString a specific color in Swift如何在 Swift 中使 NSAttributedString 的特定片段成为特定颜色
【发布时间】:2015-05-13 01:21:49
【问题描述】:

我有一个UILabel 和一个NSAttributedString,代码如下:

// just creating from a notification.mainCopy!
var myMutableString = NSMutableAttributedString();
myMutableString = NSMutableAttributedString(string: notification.mainCopy!, attributes: [NSFontAttributeName:UIFont(name: "Helvetica", size: 14.0)!])

// a notification will have a blueMainCopy1 - just a test so no this could be done better
// How to make the blueMainCopy1 blue?
var myItalicizedRangeBlue = (notification.mainCopy! as NSString).rangeOfString(notification.blueMainCopy1!)
let blueFont = UIFont(name: "HelveticaNeue-BoldItalic", size:14.0) // how to make blue
myMutableString.addAttribute(NSFontAttributeName, value: blueFont!, range: myItalicizedRangeBlue)

在这种情况下,如何将信息添加到 blueFont 以使其变为蓝色?

有没有办法补充:

  let blueAttrs = [NSForegroundColorAttributeName : UIColor.blueColor()]

还是什么?

【问题讨论】:

    标签: swift uikit uilabel


    【解决方案1】:

    你已经有了这个:

    let blueFont = UIFont(name: "HelveticaNeue-BoldItalic", size:14.0)
    myMutableString.addAttribute(
        NSFontAttributeName, value: blueFont!, 
        range: myItalicizedRangeBlue)
    

    还有这个:

    let blueAttrs = [NSForegroundColorAttributeName : UIColor.blueColor()]
    

    所以现在只需添加另一个属性:

    myMutableString.addAttributes(
        blueAttrs, range: myItalicizedRangeBlue) // or any desired range
    

    或者,如果它们具有相同的范围,则先组合属性并将它们相加:

    let blueFont = UIFont(name: "HelveticaNeue-BoldItalic", size:14.0)
    let blueAttrs = [
        NSFontAttributeName : blueFont!,
        NSForegroundColorAttributeName : UIColor.blueColor()
    ]
    myMutableString.addAttributes(
        blueAttrs, range: myItalicizedRangeBlue)
    

    【讨论】:

    • 啊 - 只需要修复项目中的某些内容。也许我需要阅读更多 Programming iOS8
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    相关资源
    最近更新 更多