測試一,只改變numberOfLines屬性,label的高度不會自適應(會有text中的一部分內容稱為......)
NSString *str = @"jgreijgirjeirgjierjgiu4t9eumctuv5 vtmnvghvmc5v5tgh58tc857y";
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
label.font = [UIFont systemFontOfSize:15];
label.backgroundColor = [UIColor cyanColor];
label.numberOfLines = 0;
label.text = str;
NSLog(@"label1.frame = %@",NSStringFromCGRect(label.frame));
[self.view addSubview:label];
測試二,如果加上numberOfLines屬性和[label1 sizeToFit]這句話,label的高度會根據你設置的寬度自適應,自己最開始設置的fram的高度會失效,,,注意注意:其實他的寬度和你的設置也有一定的偏差
UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(100 ,150, 100, 0)];
label1.font = [UIFont systemFontOfSize:15];
label1.backgroundColor = [UIColor cyanColor];
label1.numberOfLines = 0;
label1.text = str;
[label1 sizeToFit];
NSLog(@"label1.frame = %@",NSStringFromCGRect(label1.frame));
[self.view addSubview:label1];
測試三:用老師封裝的類(Category)中的方法(autolayoutContent:origin:FontFloat:contentWidth:),不用設置numberOfLines屬性和[label1 sizeToFit]方法,,,但設置的contentWidth:寬度和真實的是有一點偏差的
UILabel *label2 = [[UILabel alloc]initWithFrame:CGRectMake(100 , 300, 100, 0)];
// label2.font = [UIFont systemFontOfSize:15];
label2.backgroundColor = [UIColor blueColor];
label2.text = str;
[label2 autolayoutContent:str origin:CGPointMake(100, 300) FontFloat:30 contentWidth:150];
NSLog(@"label2.frame = %@",NSStringFromCGRect(label2.frame));
[self.view addSubview:label2];
測試四:label自適應高度的非主流方法(用到numberOfLines和sizeThatFits:方法),,優點:寬度精準
UILabel *label3 = [[UILabel alloc]initWithFrame:CGRectMake(150, 50, 150, 0)];
label3.font = [UIFont systemFontOfSize:15];
label3.backgroundColor = [UIColor yellowColor];
label3.numberOfLines = 0;
label3.text = str;
//label3.lineBreakMode = NSLineBreakByWordWrapping;//(默認)
CGSize size = [label3 sizeThatFits:CGSizeMake(label3.frame.size.width, MAXFLOAT)];
label3.frame = CGRectMake(label3.frame.origin.x, label3.frame.origin.y, label3.frame.size.width, size.height);
NSLog(@"label3.frame = %@",NSStringFromCGRect(label3.frame));
[self.view addSubview:label3];
iOS label高度自適應的四種方法
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 假設你已經對label正常添加了約束條件,按照以下幾個步驟即可任意設置label控件的寬度或高度自適應。 【注意】
- 又是裝機量少但依然蛋疼的iOS7的問題. 關于含有label的cell的高度自適應的問題,在iOS 8.0以上都能...