iOS label自適應大小


//初始化一個label

    self.label=[[UILabel alloc] init];

    

    //設置自動行數與字符換行

    [self.label setNumberOfLines:0];

    

    //給label設置標簽

    self.label.text=@"首先,我們要明確一點,同步和異步都是在線程中使用的。在iOS開發中,比如網絡請求數據時,若使用同步請求,則只有請求成功或者請求失敗得到響應返回后,才能繼續往下走,也就是才能訪問其它資源(會阻塞了線程)。";

    

    //設置label的背景顏色

    self.label.backgroundColor=[UIColor grayColor];

    

    //初始化段落,設置段落風格

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

    paragraphstyle.lineBreakMode=NSLineBreakByCharWrapping;

    

    //設置label的字體和段落風格

    NSDictionary *dic=@{NSFontAttributeName:self.label.font,NSParagraphStyleAttributeName:paragraphstyle.copy};

    //NSDictionary *dic=@{NSFontAttributeName:self.label.font};

    

    //計算label的真正大小,其中寬度和高度是由段落字數的多少來確定的,返回實際label的大小

   CGRect rect=[self.label.text boundingRectWithSize:CGSizeMake(self.view.frame.size.width, self.view.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];

    

    //設置到屏幕頂部的距離,如果不設置就x,y都為0

    self.label.frame=CGRectMake(0, 70, rect.size.width,rect.size.height);

    [self.view addSubview:self.label];

這是分別在6s和5s上面運行的效果

 

初學者個人總結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM