iOS:UITableViewCell - 单元格中断/重叠彼此

时间:2015-03-09 22:45:23

标签: ios objective-c iphone uitableview autolayout

我用不同的costum单元构建了一个UITableView。一个是UIImageView,一个没有。但它们相互重叠。我设置了所有约束。

每个小区都拥有自己的部分。

屏幕: (图像和文字都是样本。)

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

实际的细胞高度是否会改变?

如果是这样,您需要确保使用以下方法返回正确的高度:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return heightOfCell;
} 

答案 1 :(得分:1)

看起来您可能在没有图像的单元格上存在约束错误,因为它超出了表格认为高度表明它应该结束的位置。因此,为什么它会超越第二个细胞顶部开始的地方。

可能的问题是:

0)你从heightForRowAtIndexPath返回一个太小的高度。对iOS8使用自动布局,或者如果支持iOS7,则需要计算高度。

1)也许你的约束是错误的。您是否将底部文本固定到单元格contentView的底部并将日期顶部固定到contentView的顶部?

2)如果使用iOS8自动布局,请尝试在viewWillAppear中添加[self.tableView reloadData];。有时需要额外的动作才能使布局正确,特别是如果文本需要调整大小。除了我必须这样做之外,我没有其他解释,我已经在其他地方看过几次。