我有UITableView
的自定义单元格;该自定义单元格来自扩展UITableViewCell
的类。
我只有一个.xib来创建实际的单元格,以及.h中这些项目的链接。
我没有使用.m,它只是自动生成的awakeFromNib
和setSelected:selected:animated
。
当我使用cellForRow
方法创建我的单元格时,一切正常,它在屏幕上显示正确。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"CustomCellTableViewCell";
CustomCellTableViewCell *cell = [self.tbUpcomingEvents dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
tmp = [_eventList objectAtIndex:indexPath.row];
cell.lbDescription.text = tmp.description;
cell.lbTitle.text = tmp.title;
cell.imageView.layer.cornerRadius = 20;
cell.imageView.clipsToBounds = YES;
cell.layer.masksToBounds = YES;
cell.imageView.image = [UIImage imageNamed:tmp.type.typeImage];
cell.lbTimeStart.text = [[[timeFormatter stringFromDate:tmp.startTime] stringByAppendingString:@" - "]stringByAppendingString:[dateFormatter stringFromDate:tmp.startDate]];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
我的问题如下:当我开始滚动桌面视图时,新单元格被搞砸了,特别是图像。它变得更大/更宽,并且(显然)变形。我真的不知道是什么导致它或如何解决它。
单元格与cellForRow
方法中的重用标识符和.xib文件中的自定义类相关联。 UITableView
没有任何特别之处(除了故事板之外没有其他链接 - > .h,委托,数据源)
有任何线索吗?
答案 0 :(得分:2)
我发现了我的问题。在这种特殊情况下,我的customCell.h中的imageView被称为" imageView"。这是一个保留命名的,我猜,在创建单元格时(某些?)创建了冲突。
我不知道为什么,但我知道是什么解决了这个问题。现在,我只是为我的图像添加了另一个属性名称,而且我是金色的;)
答案 1 :(得分:0)
尝试替换您的代码:
cell.lbDescription.text = tmp.description;
cell.lbTitle.text = tmp.title;
cell.imageView.image = [UIImage imageNamed:tmp.type.typeImage];
cell.lbTimeStart.text = [[[timeFormatter stringFromDate:tmp.startTime] stringByAppendingString:@" - "]stringByAppendingString:[dateFormatter stringFromDate:tmp.startDate]];
从cellForRowAtIndexPath
到willDisplayCell
方法。
我们的想法是在UITableViewCell
中制作tableView:cellForRowAtIndexPath:
个模板,但要在tableView:willDisplayCellForRowAtIndexPath:
中填充具有特定值的单元格。
答案 2 :(得分:0)
在界面构建器
中取消选中autoresize子视图