UILabel自適應裡面的文字,自動調整寬度和高度
阿新 • • 發佈:2019-02-19
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; // frame之後會重置size。
[label setNumberOfLines:0]; // 允許多行顯示
NSString *textStr = @"高考結束後即將步入大學的莘莘學子們,用90後特有的方式“期待”了自己的大學生活。被即將升級到大二的學長們看到,對於新生們的囂張憧憬“溼兄”並不表示支援。以過來人的身份告誡“新生別囂張”並在校園裡的各個角落拍攝了一組圖片。整篇微博內容除了告誡新生別囂張外,還用漫畫的形式委婉的告訴“溼弟們”:學長不好惹、學姐不好泡、學長高富帥。這些都是學長以大一過來人的身份體驗過的感覺。如此的以身試教果真是“真愛”。";
UIFont *font = [UIFontsystemFontOfSize:15];
CGSize size = CGSizeMake(320,2000); // 高度自適應,允許設定無限大
CGSize lblSize = [textStr sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
label.frame = CGRectMake(0.0, 0.0, lblSize.width,
lblSize.height );
label.backgroundColor = [UIColor redColor];
label.textColor = [UIColor whiteColor];
label.text =
textStr;
label.font = font;
CGSize singleLineSize = [textStr sizeWithFont:font]; // 獲取textStr寫進單行的寬度與高度: