UILabel 調整行間距計算frame

+ (UILabel *)getLabelFrame:(UILabel *)label withLineSpace:(NSInteger)lineSpace withAttributedString:(NSString *)string

{

    [label setNumberOfLines:0];

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

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

    

    [paragraphStyle setLineSpacing:lineSpace];//調整行間距

    [attributedString addAttribute:NSFontAttributeName

                       value:label.font

                       range:NSMakeRange(0, string.length)];

    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])];

    label.attributedText = attributedString;

    

    CGSize size = [label.attributedText boundingRectWithSize:CGSizeMake(label.frame.size.width, 1000) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading context:nil].size;

    label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, size.width, size.height);

    return label;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章