UILabel標籤控件2

/**根據顯示內容自動計算標籤的大小*/

    UILabel *label2 = [[UILabel alloc]init];

    label2.text = @"UILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelU";

    //1.設置顯示行數不做限制

    label2.numberOfLines = 0;

    //2.計算大小,這個是字符串方法

    //參數1:sizeWithFont:指定顯示文字的字體

    //參數2:constrainedToSize:限制顯示內容的最大大小(寬度,高度)

    label2.font = [UIFont systemFontOfSize:20];

   

//這個是ios6之前的方法 

    CGSize  size = [label2.text sizeWithFont:[UIFont systemFontOfSize:20] constrainedToSize:CGSizeMake(300, 10000) lineBreakMode:NSLineBreakByWordWrapping];

    //顯示字體合適的大小

    NSLog(@"%@",NSStringFromCGSize(size));

    label2.frame = CGRectMake(20, 150, size.width, size.height);


 //ios7以後的方法,根據一些參數的設置計算出顯示文字內容的最合適的大小

    //參數1:限制的大小

    //參數2:<#(NSStringDrawingOptions)#>,描畫選項:NSStringDrawingUsesLineFragmentOrigin(固定格式)

    //參數3:字典,傳一個包含value字體名key字體屬性名稱的字典

    //參數4:描畫上下文,默認傳nil

    NSDictionary *dic = [NSDictionary dictionaryWithObject:label2.font forKey:NSFontAttributeName]; 

    CGRect rect = [label2.text boundingRectWithSize:CGSizeMake(300, 10000) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];

    label2.frame = CGRectMake(20, 150, rect.size.width, rect.size.height);

    label2.backgroundColor = [UIColor whiteColor];

    NSLog(@"%@",NSStringFromCGRect(rect));


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