天天看點

UILabel自适應高度代碼

在ios開發過程中,經常需要UILabel根據内容動态調整高度,顯示多行。下面為實作代碼:  
           
UIFont *fontOne = [UIFont systemFontOfSize:15.0];//設定字型大小  
           
NSString *titleOne =@"發生的都是發大水發第三方第三方大師法師打發多少";//要顯示的内容  
           
CGSize maximumLabelSizeOne = CGSizeMake(315,MAXFLOAT);//315為我需要的UILabel的長度  
           
CGSize expectedLabelSizeOne = [titleOne sizeWithFont:fontOne constrainedToSize:maximumLabelSizeOne lineBreakMode:UILineBreakModeWordWrap]; //expectedLabelSizeOne.height 就是内容的高度 
           
//初始化UILabel 
           
CGRect pointValueRect = CGRectMake(5, 30 ,315, expectedLabelSizeOne.height);  
           
UILabel *pointValue = [[UILabel alloc] initWithFrame:pointValueRect]; 
           
point.lineBreakMode = UILineBreakModeWordWrap;  
           
point.numberOfLines = 0;//上面兩行設定多行顯示 
           
point.text = titleOne; 注意:point.lineBreakMode = UILineBreakModeWordWrap;          
           
point.numberOfLines = 0; 兩個設定保證了是多行顯示,但是,當UILabel的高度小于字型内容的高度時,仍然顯示單行,是以如果不動态設定label的高度,最好讓label的高度足夠大。 
           

繼續閱讀