UITableViewCell内的AutoLayout UITableView动态高度

时间:2016-02-26 23:13:59

标签: ios objective-c uitableview autolayout

我试图将uitableview放在uitableviewcell中。单元格的数量是动态的,内部表格视图的高度应该是内容大小。 (请参考下面的图像)第一次加载视图时,它不能正确计算单元格的高度,因为它只会扩展到标签的高度。向下滚动然后再向上以便单元格重新加载,它会正确计算高度。任何人有任何想法来解决这个问题。我已经包含了单元格,标签以及内部tableview的约束。

- (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize withHorizontalFittingPriority:(UILayoutPriority)horizontalFittingPriority verticalFittingPriority:(UILayoutPriority)verticalFittingPriority {

    CGRect rect = self.answerOptionsTable.frame;
    rect.size.height = MAXFLOAT;

    self.answerOptionsTable.frame = rect;
    [self.answerOptionsTable layoutIfNeeded];


    CGSize returnedSize;
    if ( self.answerOptionsTable.contentSize.height > self.lblQuestion.frame.size.height )
    {
        returnedSize = self.answerOptionsTable.contentSize;
    }
    else
    {
        returnedSize = self.lblQuestion.frame.size;
    }

    // add some padding
    returnedSize.height += 20;

    return returnedSize;
 }

细胞限制

Cell Constraints

表约束

Table Constrains

标签约束

Label Constraints

初步抽签

Before Cell redraw

重新加载单元格后

After cell redraw

这是另一个初始绘制行数较少的示例 Smaller cell

重绘单元格后的行数较少 Smaller cell after cell redraw

0 个答案:

没有答案