UITableViewCell中的较大图像?

时间:2012-07-17 21:29:06

标签: ios uitableview

在我的应用程序中,我有一个表格,其单元格包括标题,副标题,图像和披露指标。所有标准都是相当标准的,因此通用UITableViewCell initWithStyle:UITableViewCellStyleSubtitle可以解决问题。除了图像非常小,非常小,以至于它几乎无法使用。 (我用这些来显示照片缩略图,你甚至无法说出照片是什么!)

我尝试过实施- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath并设置更大的尺寸,这确实让细胞更高;但它不会影响图像的大小。

有没有办法让标准UITableViewCell更高,图像更大,或者我是否需要制作UITableViewCell的自定义子类?

2 个答案:

答案 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会变大。 希望这会有所帮助。

干杯!