1

在我的应用程序中,我有一个表格,其单元格包括标题、副标题、图像和披露指示符。一切都相当沼泽标准,所以一个通用UITableViewCell initWithStyle:UITableViewCellStyleSubtitle的伎俩。除了图像非常小,小到几乎无法使用的地步。(我用这些来显示照片缩略图,你甚至无法分辨照片是什么!)

我已经尝试实现- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath并设置更大的尺寸,这确实使单元格更高;但是它不会影响图像的大小。

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

4

2 回答 2

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];

比循环遍历所有单元格的子视图要干净得多!

于 2012-07-17T21:39:03.293 回答
1
[cell.imageView setFrame:yourFrameHere];

我想目前,由于单元格样式,图像的大小与单元格的大小成正比。这就是为什么当您使单元格变大时 imageView 会变大的原因。希望这可以帮助。

干杯!

于 2012-07-17T21:41:41.900 回答