在我的应用程序中,我有一个表格,其单元格包括标题,副标题,图像和披露指标。所有标准都是相当标准的,因此通用UITableViewCell initWithStyle:UITableViewCellStyleSubtitle
可以解决问题。除了图像非常小,非常小,以至于它几乎无法使用。 (我用这些来显示照片缩略图,你甚至无法说出照片是什么!)
我尝试过实施- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
并设置更大的尺寸,这确实让细胞更高;但它不会影响图像的大小。
有没有办法让标准UITableViewCell
更高,图像更大,或者我是否需要制作UITableViewCell
的自定义子类?
答案 0 :(得分:2)
您应该能够遍历-cellForRowAtIndexPath:
中每个单元格的子视图,并重置imageView的大小。
在-cellForRowAtIndexPath:
for(UIView* view in cell.subviews) {
if([view isKindOfClass:[UIImageView class]]) {
[view setFrame:yourNewBiggerFrame];
}
}
如果将其与-heightForRowAtIndexPath:
结合使用,则应该可以调整单元格及其图像视图的大小。
编辑:
正如 H2CO3 所指出的,上述方法有点冗长且不必要。简单地使用单元格的imageView
属性并更改其框架,它更清晰,更具前瞻性。所以你得到:
[cell.imageView setFrame:yourNewBiggerFrame];
比循环遍历所有单元格的子视图要清晰得多!
答案 1 :(得分:1)
[cell.imageView setFrame:yourFrameHere];
我猜当前,由于细胞样式,图像的大小与细胞的大小成正比。这就是为什么当你使单元格变大时imageView会变大。 希望这会有所帮助。
干杯!