iOS設置UILabel行距實例

xmnx 9年前發布 | 1K 次閱讀 Objective-C IOS

這個方法不僅可以設置Label行距,也可以設置自適應高度

    //創建UILabel  
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(7, 5, TABLEVIEW_WIDTH - HEADIMGVIEW_HEIGHT - 20 - 24 - 20, 0)];  
    //自動換行  
    label.numberOfLines = 0;  
    //設置label內容寬度  
    CGFloat textWidth = 414;  
    //獲取數據  
    NSString *text = model.content;  
    //創建NSMutableAttributedString實例,并將text傳入  
    NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc]initWithString:text];  
    //創建NSMutableParagraphStyle實例  
    NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];  
    //設置行距  
    [style setLineSpacing:10.0f];  
    //判斷內容長度是否大于Label內容寬度,如果不大于,則設置內容寬度為行寬(內容如果小于行寬,Label長度太短,如果Label有背景顏色,將影響布局效果)  
    NSInteger leng = textWidth;  
    if (attStr.length < textWidth) {  
        leng = attStr.length;  
    }  
    //根據給定長度與style設置attStr式樣  
    [attStr addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, leng)];  
    //Label獲取attStr式樣  
    label.attributedText = attStr;  
    //Label自適應大小  
    [label sizeToFit];  
    //設置Label高度  
    label.height = label.frame.size.height;  

 本文由用戶 xmnx 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!