您的位置:首页 > 移动开发 > IOS开发

IOS开发-NSMutableAttributedString 富文本的使用

2015-07-20 11:23 666 查看
如图标注 20元 是红色字体。

在使用attributedString 时,可以直接设置文本属性,不用创建多个label 来实现效果。

- (void)viewDidLoad {
[super viewDidLoad];

[self strOne];
[self attributeStrOne];
[self attributeStrTwo];

}

- (void)strOne{
NSString *str1 = @"我的信仰";

UILabel *lab1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 320, 30)];
lab1.text = str1;
[self.view addSubview:lab1];
}

- (void)attributeStrOne{
NSString *str2 = @"我的信仰";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:str2];
//设置富文本样式
[attributedString addAttribute:NSForegroundColorAttributeName
value:[UIColor redColor]//颜色
range:NSMakeRange(0, 1)];
[attributedString addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:24.f]//大小
range:NSMakeRange(0, 2)];

UILabel *lab2 = [[UILabel alloc]initWithFrame:CGRectMake(0, 200, 320, 100)];
lab2.attributedText = attributedString;
[self.view addSubview:lab2];
}

- (void)attributeStrTwo{
NSString *str3 = @"我的人生我的人生我的人生我的人生我的人生我的人生\n我的人生\n";
NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc]initWithString:str3];
//设置富文本  段落样式
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];
style.lineSpacing = 10.f;//行距
style.paragraphSpacing = 20.f;//段落间距

[attributeStr addAttribute:NSParagraphStyleAttributeName
value:style
range:NSMakeRange(0, str3.length)];
UILabel *lab2 = [[UILabel alloc]initWithFrame:CGRectMake(0, 300, 320, 300)];
lab2.numberOfLines = 0;// 设置段落时,必须为0
lab2.attributedText = attributeStr;
[self.view addSubview:lab2];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: