富文本的使用

一,理解

对于以前,我们用label进行添加文字的时候,只是在 label的本身上添加,从来没有考虑过其他的方式,今天呢,由于我看了别人的一片技术博客,有感所以就记录了下来,希望能够帮助到那些有需要的人


不带段落分析的

代码如下:

NSString *str = @"也许我们的心里藏有一个海洋,流出来的却是两行清泪,可我并不感到孤单,我只是简单地喜欢书写凄凉。曾经我们敷衍的情绪,在别人记忆的曲线里渐行渐远渐无言。难道曾经的悸动,只是岁月留给我一个人的错觉,我有点不相信自己的眼睛。我没有哭泣,只是学会了思念而已。";

    //创建富文本

    NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc]initWithString:str];

    //设置文本的颜色

    [attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 6)];

    //设置文本的大小

    [attributeStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:26] range:NSMakeRange(0, 6)];

    //设置文本的背景颜色

    [attributeStr addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(0, 6)];

    //设置文本的下划线

    [attributeStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, 6)];

    //设置字符间的间距

    [attributeStr addAttribute:NSKernAttributeName value:@(5) range:NSMakeRange(0, str.length - 1)];

    

    //创建label

    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, self.view.bounds.size.width + 5, 40)];

    //设置label中的字体

    label.attributedText = attributeStr;

    //设置label中的字体允许换行

    label.numberOfLines = 0;

    //设置label的高度自适应

    [label sizeToFit];

    //设置label的背景颜色

    label.backgroundColor = [UIColor greenColor];

    //label添加到视图上

    [self.view addSubview:label];


运行结果:




下面是带段落分析的

运行代码:

NSString *str = @"也许我们的心里藏有一个海洋,流出来的却是两行清泪,可我并不感到孤单,我只是简单地喜欢书写凄凉。\n曾经我们敷衍的情绪,在别人记忆的曲线里渐行渐远渐无言。\n难道曾经的悸动,只是岁月留给我一个人的错觉,我有点不相信自己的眼睛。\n我没有哭泣,只是学会了思念而已。";

    

    //创建富文本

    NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc]initWithString:str];

    //创建段落的样式

    NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc]init];

    //设置段落的行间距

    paragraph.lineSpacing = 10;

    //设置段落之间的间距

    paragraph.paragraphSpacing = 15;

    //设置首行缩紧的字数

    paragraph.firstLineHeadIndent = 30;

    //设置全部缩进

    paragraph.headIndent = 30;

    //设置对齐方式

    paragraph.alignment = NSTextAlignmentLeft;

    

    //添加段落设置

    [attributeStr addAttribute:NSParagraphStyleAttributeName value:paragraph range:NSMakeRange(0, str.length)];

    

    //创建label

    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, self.view.bounds.size.width + 5, 40)];

    //设置label中的字体

    label.attributedText = attributeStr;

    //设置label中的字体允许换行

    label.numberOfLines = 0;

    //设置label的高度自适应

    [label sizeToFit];

    //设置label的背景颜色

    label.backgroundColor = [UIColor greenColor];

    //label添加到视图上

    [self.view addSubview:label];


运行结果:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值