怎么让UILabel显示两行字
1个回答
展开全部
在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的高度足够大。
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的高度足够大。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询