美文网首页
iOS- 设置label的行间距&字体间距

iOS- 设置label的行间距&字体间距

作者: malgee | 来源:发表于2016-12-09 15:08 被阅读1780次
    - (void)viewDidLoad {
        [super viewDidLoad];
        NSString *content = @"好吗 一句话就哽住了喉 城市当背景的海市蜃楼 我们像分隔成一整个宇宙 再见都化作乌有 我们说好决不放开相互牵的手 可现实说过有爱还不够走到分岔的路口 你向左我向右 我们都倔强地不曾回头 我们说好就算分开一样做朋友 时间说我们从此不可能再问候 人群中再次邂逅";
    
        NSMutableDictionary *attDic = [NSMutableDictionary dictionary];
        [attDic setValue:[UIFont systemFontOfSize:16] forKey:NSFontAttributeName];      // 字体大小
        [attDic setValue:[UIColor redColor] forKey:NSForegroundColorAttributeName];     // 字体颜色
        [attDic setValue:@5 forKey:NSKernAttributeName];                                // 字间距
        [attDic setValue:[UIColor cyanColor] forKey:NSBackgroundColorAttributeName];    // 设置字体背景色
        NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:content attributes:attDic];
        
        NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
        style.lineSpacing = 20;                                                          // 设置行之间的间距
        [attStr addAttribute:NSParagraphStyleAttributeName value:style range: NSMakeRange(0, content.length)];
        
        CGFloat contentH = [attStr boundingRectWithSize:CGSizeMake(200, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin context:nil].size.height;                                                    // 自动计算文本高度
        UILabel *txtLbl = [[UILabel alloc] init];
        txtLbl.frame = CGRectMake(100, 100, 200, contentH);
        txtLbl.numberOfLines = 0;
        txtLbl.attributedText = attStr;
        txtLbl.backgroundColor = [UIColor redColor];
        
        [self.view addSubview:txtLbl];  
    }
    

    效果图:

    img.png

    相关文章

      网友评论

          本文标题:iOS- 设置label的行间距&字体间距

          本文链接:https://www.haomeiwen.com/subject/ctgemttx.html