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的高度足够大

你可能感兴趣的:(ios)