1. 程式人生 > >【iOS】UILabel自適應高度和自動換行

【iOS】UILabel自適應高度和自動換行

我們需要根據UILabel中字串的多少來確定label的大小(長度),下面是label自適應大小的方法

//
初始化label UILabel *label = [[UILabel allocinitWithFrame:CGRectMake(0,0,0,0)]; //設定自動行數與字元換行 [labelsetNumberOfLines:0]; // 0代表有無限多行 label.lineBreakMode = UILineBreakModeWordWrap; // 這個是換行模式,按單詞換行 // 測試字串 NSString *str = @" 這裡有好多字...這裡有好多字...這裡有好多字...這裡有好多字...
這裡有好多字...這裡有好多字...這裡有好多字...這裡有好多字...這裡有好多字...這裡有好多字...這裡有好多字...這裡有好多字..."; // 把字串加到label label.text = str; // 設定字型 label.font = [UIFont fontWithName:@"Arial"size:12]; //設定一個行高上限 CGSize size = CGSizeMake(label.frame.size.width,2000); //計算實際frame大小,並將labelframe變成實際大小 CGSize labelSize = [label.text sizeWithFont
:label.fontconstrainedToSize:size lineBreakMode:UILineBreakModeWordWrap]; label.frame = CGRectMake(0, 0, label.frame.size.width, labelSize.height);