AttributedString创建富文本

上代码


    NSString *string  = @"我在时光里莅住,期待在每一个风轻云淡的日子里,可以写出锦瑟生香的暖字。依着阳光安暖,悄然长成一朵潋滟的花。\n等春天的情话落在时光的蒹葭,你眼中那寂静的妥帖,便是我在花间筑下的梦。";

    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:string];

    // 文字颜色
    [attrString addAttribute:NSForegroundColorAttributeName
                       value:[UIColor redColor]
                       range:NSMakeRange(0, 1)];

    // 字体大小
    [attrString addAttribute:NSFontAttributeName
                       value:[UIFont systemFontOfSize:24.f]
                       range:NSMakeRange(0, 2)];

    // 字符间距
    [attrString addAttribute:NSKernAttributeName
                       value:@2.f
                       range:NSMakeRange(0, attrString.length)];


    // 设置段落样式
    NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
    style.lineSpacing              = 10.f;  // 行间距
    style.paragraphSpacing         = 20.f;  // 段间距
    style.firstLineHeadIndent      = 20.f;  // 首行缩进

    [attrString addAttribute:NSParagraphStyleAttributeName
                       value:style
                       range:NSMakeRange(0, attrString.length)];


    UILabel *label        = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 240)];
    label.numberOfLines   = 0;
    label.attributedText  = attrString;
    [self.view addSubview:label];

运行

这里写图片描述

参考资料:

iOS UILabel设置行间距和字间距并计算高度
UILabel - 自定义行间距,字间距及段间距[并动态调节高度]
自定义UILabel设置行距和字间距的各种方法,并根据文本计算高度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值