有什么方法可以在 UILabel 中有多行文本?
我不希望视图中的标签超过 1 个。
如何在单个 UILabel 中添加多行?
是的,有办法。只需要添加UILabel
ie 的两个属性
NumberOfLines=0
它允许您在一个UILabel
LineBreakMode = NSLineBreakByWordWrapping
它可以让你一个字一个字地打断你的句子。您也可以根据您的要求进行更改。
[YourLabel setNumberOfLines:0];
[YourLabel setLineBreakMode:NSLineBreakByWordWrapping];
您还可以从界面构建器中设置这两个属性
这是示例代码:
UILabel *lblUsername=[[UILabel alloc] init];
StoryTextSize = [storytext sizeWithFont:[UIFont fontWithName:@"Georgia" size:13.0f] constrainedToSize:CGSizeMake(300, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
lblUsername.frame=CGRectMake(20, 5, [[UIScreen mainScreen] bounds].size.width-40, StoryTextSize.height);
lblUsername.textColor=[UIColor blackColor];
lblUsername.text=[NSString stringWithFormat:@"%@",[[tblRecords objectAtIndex:indexPath.row] valueForKey:@"username"]];
lblStoryText.numberOfLines=nooflines;
lblStoryText.backgroundColor=[UIColor clearColor];
[self.view addSubview:lblStoryText];
确保您的标签高度应该更高,以便总没有线条可见。
这是一个示例代码
UILabel *pHolder1 = [[UILabel alloc]initWithFrame:CGRectMake(5, 0, 245, 45)];
pHolder1.backgroundColor = [UIColor clearColor];
pHolder1.font = [UIFont systemFontOfSize:14.0f];
pHolder1.numberOfLines =0;
pHolder1.lineBreakMode = NSLineBreakByWordWrapping;
pHolder1.textAlignment = NSTextAlignmentCenter;
动态计算UILabel的高度请参考下面的帖子 根据文字调整UILabel高度