我用不同的costum单元构建了一个UITableView。一个是UIImageView,一个没有。但它们相互重叠。我设置了所有约束。
每个小区都拥有自己的部分。
屏幕: (图像和文字都是样本。)
答案 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];
。有时需要额外的动作才能使布局正确,特别是如果文本需要调整大小。除了我必须这样做之外,我没有其他解释,我已经在其他地方看过几次。