Ios UITableViewCell中的较大图像?

Ios UITableViewCell中的较大图像?,ios,uitableview,Ios,Uitableview,在我的应用程序中,我有一个表格,其单元格包括标题、副标题、图像和披露指示器。所有这些都是相当标准的,因此一个通用的UITableViewCell initWithStyle:UITableViewCellStyleSubtitle就可以做到这一点。除了图像非常小,小到几乎无法使用。(我用这些来显示照片缩略图,而你甚至不知道照片是什么!) 我尝试过实现-(CGFloat)tableView:(UITableView*)tableView heightforrowatinexpath:(nsinde

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

我尝试过实现
-(CGFloat)tableView:(UITableView*)tableView heightforrowatinexpath:(nsindepath*)indepath
,并设置了更大的大小,这确实使单元格更高;但是,它不会影响图像的大小


有没有办法使标准的
UITableViewCell
更高,图像更大,或者我需要为
UITableViewCell
创建一个自定义子类?

您应该能够在
-cellforrowatinexpath:
中循环浏览每个单元格的子视图,并重置图像视图的大小

-cellforrowatinexpath:

for(UIView* view in cell.subviews) {
    if([view isKindOfClass:[UIImageView class]]) {
        [view setFrame:yourNewBiggerFrame];
    }
}
如果将其与
-heightForRowAtIndexPath:
结合使用,您应该能够调整单元格及其图像视图的大小

编辑:

正如H2CO3所指出的,上述方法有点冗长,没有必要。只需使用单元格的
imageView
属性并更改其框架,就可以更干净、更经得起未来考验。所以你得到:

[cell.imageView setFrame:yourNewBiggerFrame];
比在单元格的所有子视图中循环要干净得多

[cell.imageView setFrame:yourFrameHere];
我猜目前,由于单元格的样式,图像的大小与单元格的大小成正比。这就是为什么当单元格变大时,imageView会变大。 希望这有帮助


干杯

嗯。我刚才看到了,也想到了同样的事情,但后来注意到
imageView
被标记为
readOnly
。所以我认为你不能改变它的框架。愚蠢的我正在编辑我的答案。谢谢你指出这一点。