如何附加两个具有不同字体的属性字符串?

How do I append two attributed strings with different fonts?

在这里,我尝试在一个 UILabel 中附加两个属性字符串,但我犯了一些错误,所以有人可以找到我的错误吗?

let textFontAttributes = [
            NSFontAttributeName : font,
            // Note: SKColor.whiteColor().CGColor breaks this
            NSForegroundColorAttributeName: UIColor.whiteColor(),
            NSStrokeColorAttributeName: UIColor.blackColor(),
            // Note: Use negative value here if you want foreground color to show
            NSStrokeWidthAttributeName: -8]

这是demo,你可以试试看,其实你应该提供更多的信息,看看哪里出错了。

var firstString  = "Hello" as NSString

var secondString = " World"  as NSString

var totalString = firstString.stringByAppendingString(secondString as String) as NSString

let firsttAttributes = [
    NSFontAttributeName : UIFont.systemFontOfSize(16),
    // Note: SKColor.whiteColor().CGColor breaks this
    NSForegroundColorAttributeName: UIColor.whiteColor(),
    NSStrokeColorAttributeName: UIColor.blackColor(),
    // Note: Use negative value here if you want foreground color to show
    NSStrokeWidthAttributeName: -8]

let secondAttributes = [
    NSFontAttributeName : UIFont.systemFontOfSize(12),
    // Note: SKColor.whiteColor().CGColor breaks this
    NSForegroundColorAttributeName: UIColor.redColor(),
    NSStrokeColorAttributeName: UIColor.blackColor(),
    // Note: Use negative value here if you want foreground color to show
    NSStrokeWidthAttributeName: -8]

var attributedString = NSMutableAttributedString(string: totalString as String, attributes: firsttAttributes)

var secondRange = totalString.rangeOfString(secondString as String)

if secondRange.location != NSNotFound {
    attributedString.addAttributes(secondAttributes, range: secondRange)
}