我需要动态高度的UITableViewCell取决于内容长度。
这是原型单元
首次加载时内容显示正常
但是当我滚动UITableView时,单元格的内容会像这样破坏,特别是对于UIImageView。
在单元格的实现中,我只使用了setImage
和setText
方法。
看来问题是什么?或者,是否有另一种方法在viewDidLoad
之后以不同方式设置每个单元格的高度?
**编辑:这是我cellForRowAtIndexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NotificationCell *cell = [tableView dequeueReusableCellWithIdentifier:@"notification"];
if(!cell) {
[tableView registerNib:[UINib nibWithNibName:@"NotificationCell" bundle:nil] forCellReuseIdentifier:@"notification"];
cell = [tableView dequeueReusableCellWithIdentifier:@"notification"];
}
[cell setContent:[notifications objectAtIndex:indexPath.row]];
[cell layoutIfNeeded];
return cell;
}
NotificationCell.m中的setContent
只有setText
和setImage
答案 0 :(得分:0)
因为tableView已经有一个imageView属性并且它位于单元格的左侧,所以您将图像设置为该imageView。您应该重命名自定义imageView的插座。因此,它不应该被称为imageView,为它提供另一个名称。