NSMutableAttributedString不起作用:粗体NSString的一部分

时间:2013-11-06 11:38:13

标签: ios iphone nsstring

尝试加粗NSString的起始部分。使用下面提到的代码。

-(void)setText {

    NSString *strEmail = @"Email: HR_Contact@sre.com";
    NSMutableAttributedString *attributedEmail = [[NSMutableAttributedString alloc]initWithString:strEmail];
    NSString *boldFontName = [[UIFont fontWithName:_fontMyriadBold size:20] fontName];
    NSRange boldedRange = NSMakeRange(0, 5);
    [attributedEmail beginEditing];
    [attributedEmail addAttribute:NSFontAttributeName
                   value:boldFontName
                   range:boldedRange];

    [attributedEmail endEditing];

    lblEmailAddress.attributedText = attributedEmail;
}

它没有任何改变。为什么这样,问题是什么,没有得到任何警告或错误。 请指导。 提前谢谢。

2 个答案:

答案 0 :(得分:5)

检查一下。

NSString * strEmail = @"Email: HR_Contact@sre.com";
NSMutableAttributedString * attributedEmail = [[NSMutableAttributedString alloc] initWithAttributedString:strEmail];
NSRange boldedRange = NSMakeRange(0, 5);
[attributedEmail addAttribute: NSFontAttributeName value:[UIFont fontWithName:_fontMyriadBold size:20] range:boldedRange];
[attributedEmail addAttribute: NSForegroundColorAttributeName value: [*UICOLOR*] range:boldedRange]; // if needed
[lblEmailAddress setAttributedText: attributedEmail];

答案 1 :(得分:0)

你在哪里设置这个属性字符串?也许在其中一个-init?也许lblEmailAddress在这一点上仍然是零,你试图设置它。如果是这样,那就是它不适合你的原因。如果我理解正确lblEmailAddress来自* .xib。