我想在iOS8中实现UITableViewCell
的布局,如下所示:
关键是每个标签可以是 多行 。我知道它需要一个正确的拥抱/压缩配置,但我不知道如何设置它 我设置了以下约束:
numberOfLine
设置为0 leftLabel1
约束:top to superview,导致superview,width rightLabel1
约束:导致leftLabel1,尾随到superview,底边与leftLabel1 leftLabel2
约束:从左到右标签1的底部,对齐前导&& leftLabel1的尾随边缘rightLabel2
约束:导致leftLabel2,尾随到superview,底边与leftLabel2 leftLabel3
约束:从左到右标签2的底部,对齐前导&& leftLabel1的尾随边缘rightLabel3
约束:导致leftLabel3,尾随到superview,底边与leftLabel3 然后是时候设置拥抱和抗压力,但我没有添加它,并且并非所有标签都能正确显示文字。
任何人都可以详细解释如何实现它?
谢谢!
答案 0 :(得分:0)
首先,您可以通过此方法动态获取每个标签高度
-(CGFloat)heightForCellText:(NSString *)text withWidth:(CGFloat)width
{
UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0,width,CGFLOAT_MAX)];
lbl.numberOfLines = 0;
lbl.lineBreakMode =NSLineBreakByWordWrapping;
lbl.font = [UIFont fontWithName:@"Helvetica Neue" size:14.0];
lbl.text = text;
[lbl sizeToFit];
return lbl.frame.size.height;
}
并像这样设置表格单元格高度
return [self heightForCellText:leftLabel withWidth:leftLabel.size.width] + Defult_Cell_Height;