iOS之UILabel自適應大小

//初始化一個label網絡

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

    

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

    [self.label setNumberOfLines:0];字體

    

    //給label設置標籤線程

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

    

    //設置label的背景顏色開發

    self.label.backgroundColor=[UIColor grayColor];同步

    

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

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

    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上面運行的效果

相關文章
相關標籤/搜索