iOS xib设置tableview单元格约束

时间:2015-12-01 10:45:18

标签: ios objective-c xcode uitableview

我正在制作一个自定义的UITableViewCell。

有两个标签具有动态高度。

[label1 setNumberOfLine = 0];
[label1 sizeToFit];
[label2 setNumberOfLine = 0];
[label2 sizeToFit];

如何正确添加约束?

我设置了如下图所示的约束。 enter image description here

但是,我得到了以下结果。 enter image description here

顶部标签不符合内容大小。

1 个答案:

答案 0 :(得分:1)

我建议你在h文件中为label1 height和label2 height创建NSLayoutConstraint的出口(控制+点击并将高度约束拖到h文件上)。

现在您可以设置这些约束的高度,如。

self.label1HeightConstraint.constant=[self getLabelHeight:label1];
self.label2HeightConstraint.constant=[self getLabelHeight:label2];

现在,您可以将索引路径中单元格的高度作为这两个高度的总和返回。 以下功能将使您返回高度。

 -(CGFloat)getLabelHeight:(UILabel *)label
      {
               CGFloat maxLabelWidth =label.frame.size.width;
               CGSize neededSize = [label sizeThatFits:CGSizeMake(maxLabelWidth, CGFLOAT_MAX)];

            return neededSize.height;
        }

两种情况下的行数应为零。