富文本的使用

来源:互联网 发布:李连杰新加坡知乎 编辑:程序博客网 时间:2024/04/29 19:46

一,理解

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


不带段落分析的

代码如下:

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

    //创建富文本

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

    //设置文本的颜色

    [attributeStr addAttribute:NSForegroundColorAttributeNamevalue:[UIColorredColor] range:NSMakeRange(0,6)];

    //设置文本的大小

    [attributeStr addAttribute:NSFontAttributeNamevalue:[UIFontsystemFontOfSize:26]range:NSMakeRange(0,6)];

    //设置文本的背景颜色

    [attributeStr addAttribute:NSBackgroundColorAttributeNamevalue:[UIColoryellowColor] range:NSMakeRange(0,6)];

    //设置文本的下划线

    [attributeStr addAttribute:NSUnderlineStyleAttributeNamevalue:[NSNumbernumberWithInteger:NSUnderlineStyleSingle]range:NSMakeRange(0,6)];

    //设置字符间的间距

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

    

    //创建label

    UILabel *label = [[UILabelalloc]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 = [UIColorgreenColor];

    //label添加到视图上

    [self.viewaddSubview:label];


运行结果:




下面是带段落分析的

运行代码:

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

    

    //创建富文本

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

    //创建段落的样式

    NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStylealloc]init];

    //设置段落的行间距

    paragraph.lineSpacing =10;

    //设置段落之间的间距

    paragraph.paragraphSpacing =15;

    //设置首行缩紧的字数

    paragraph.firstLineHeadIndent =30;

    //设置全部缩进

    paragraph.headIndent =30;

    //设置对齐方式

    paragraph.alignment =NSTextAlignmentLeft;

    

    //添加段落设置

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

    

    //创建label

    UILabel *label = [[UILabelalloc]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 = [UIColorgreenColor];

    //label添加到视图上

    [self.viewaddSubview:label];


运行结果:




0 0
原创粉丝点击