属性字符串(NSAttributedString)的简单应用

Posted smile_smile

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了属性字符串(NSAttributedString)的简单应用相关的知识,希望对你有一定的参考价值。

属性字符串NSAttributedString 可以对字符串附加格式信息,由于对于对不同文本片段使用不同的格式,属性字符串类特别合适。

ios 6中对样式文本有了大改善,大部分主要的UIKit控件都允许使用属性字符串。举例UILable,只要创建一个属性字符串,然后赋值给标签的attributedText属性即可。

- (IBAction)buttonPressed:(UIButton *)sender {
    //按钮标题
    NSString *title = [sender titleForState:UIControlStateNormal];
    //标签标题
    NSString *plainTitle = [NSString stringWithFormat:@"%@ button press", title];
//    _statusLabel.text = plainTitle;
    
    //创建属性字符串对象
    NSMutableAttributedString *styledText = [[NSMutableAttributedString alloc] initWithString:plainTitle];
    
    //修改属性字符串中的某文件的字体(加粗)
    NSDictionary *attributes =
    @{
      NSFontAttributeName : [UIFont boldSystemFontOfSize:_statusLabel.font.pointSize]
      };
    NSRange rang = [plainTitle rangeOfString:title];
    [styledText setAttributes:attributes range:rang];
    
    //赋值给标签
    _statusLabel.attributedText = styledText;
}

 

效果如下:

Left button press

 

以上是关于属性字符串(NSAttributedString)的简单应用的主要内容,如果未能解决你的问题,请参考以下文章

将 HTML 转换为属性字符串时 NSAttributedString 崩溃

将 NSColor 从 NSAttributedString 转换为 UIColor

NSAttributedString使用方法整理

iOS-NSAttributedString

利用NSAttributedString实现图文混排

仅更改 NSAttributedString 的字体大小