IOS 獲取動態(tài)Label的高度

在工作中,由于label的值大多數(shù)是網(wǎng)絡(luò)獲取的字數(shù)來決定label的高度,所以寫了一個label的分類,如果label的寬高確定,想將label的文字全部顯示,那只能講里面的文字變小,label中有一個屬性能自動實現(xiàn):

label.adjustsFontSizeToFitWidth=YES;

UILabel+Extension.h 文件

-(CGFloat)getSpaceLabelHeight:(NSString *)str withWidh:(CGFloat)width;

UILabel+Extension.m 文件

-(CGFloat)getSpaceLabelHeight:(NSString *)str withWidh:(CGFloat)width
{

    NSMutableParagraphStyle *paragphStyle=[[NSMutableParagraphStyle alloc]init];
    
    paragphStyle.lineSpacing=0;//設(shè)置行距為0
    paragphStyle.firstLineHeadIndent=0.0;
    paragphStyle.hyphenationFactor=0.0;
    paragphStyle.paragraphSpacingBefore=0.0;
    
    NSDictionary *dic=@{
                        
                    NSFontAttributeName:[UIFont systemFontOfSize:15], NSParagraphStyleAttributeName:paragphStyle, NSKernAttributeName:@1.0f
                       
                    };
    CGSize size=[str boundingRectWithSize:CGSizeMake(width, HEIGHT) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;
    
    return size.height;

}

使用的時候?qū)腩^文件使用即可

#import "ViewController.h"
#import "UILabel+Extension.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self addLabel];
}

#pragma mark ----addLabel

-(void)addLabel
{
    
    NSString *str=@"adjakdfnafn一生會遇見很多人??傆幸恍┤嗽诤臀覀儞]手說再見。那些給過你歡笑的人,在下一個路口,可能就會成為再也不見的人。那些給過你傷痛的人,在離開的時候,也許就成了一個后會無期。那些給過你美好的人,有一天只能拿來回憶asdfhadsfjadfasf;aksdfnlkasdsdj";
    
    UILabel *label=[UILabel new];
    [label setTextColor:[UIColor whiteColor]];
    [label setBackgroundColor:[UIColor blackColor]];
    [label setText:str];
    [label setFont:[UIFont systemFontOfSize:15]];
    [label setNumberOfLines:0];
    
    CGFloat h=[label getSpaceLabelHeight:label.text withWidh:300 ];
    [label setFrame:CGRectMake(50, 200, 300, h)];
    [self.view addSubview:label];
    
}

@end

Demo:https://github.com/Lee-Z/DynamicAcquisitionLabel.git
效果圖

動態(tài)Label.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,525評論 19 139
  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,999評論 7 249
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實...
    香橙柚子閱讀 24,716評論 8 183
  • Chapter 1 一個月前剛從國內(nèi)頂尖法學院畢業(yè)的邊伯賢,此刻正站在機場聽著電話里母親的嘮叨 “到那邊自己注意身...
    雎叔閱讀 212評論 0 0
  • 這個命運悲慘的小女孩已經(jīng)去世整整13年零2個多月了。就這樣過去了十幾年,沒有那場爆炸的話,她也已20多歲了。...
    feeling_yu閱讀 1,334評論 0 51

友情鏈接更多精彩內(nèi)容