Ios NSMutableAttributedString不工作:NSString的粗体部分
正在尝试加粗NSString的起始部分。使用下面提到的代码Ios NSMutableAttributedString不工作:NSString的粗体部分,ios,iphone,nsstring,Ios,Iphone,Nsstring,正在尝试加粗NSString的起始部分。使用下面提到的代码 -(void)setText { NSString *strEmail = @"Email: HR_Contact@sre.com"; NSMutableAttributedString *attributedEmail = [[NSMutableAttributedString alloc]initWithString:strEmail]; NSString *boldFontName = [[UIFont
-(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;
}
这没有任何改变。为什么会这样,问题是什么?我没有收到任何警告或错误。
请导游。
提前感谢。检查此项
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];
您在哪里设置此属性化字符串?可能在
-init
中的一个中?可能lblEmailAddress
此时仍然为零,您要在何处设置它。如果是这样,这就是为什么它对你不起作用的原因。如果我理解正确,lblEmailAddress
来自*.xib。boldFontName实际上需要是一个UIFont
。结尾的“Name”表示“one”单词中的“AttributeName”。这回答了问题。我有一个类似的答案,但是,因为这是第一次发布,所以我删除了它。@Aavaarai我尝试了这个,但不起作用,我想让你注意到标签是在xib文件中,这有关系吗,因为在编码中我也认为没有问题。即使我的代码是正确的,xib连接也被破坏了。谢谢