富文本的使用

    xiaoxiao2021-03-25  200

    一,理解

    对于以前,我们用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];

    运行结果:

    转载请注明原文地址: https://ju.6miu.com/read-2059.html

    最新回复(0)