UITableCell中的UIImageView有一个奇怪的大小

时间:2010-06-17 06:36:06

标签: iphone interface uitableview builder

我正在尝试将UIImageView放在UITableViewCell中。

我创建了一个名为ProductView的特殊视图。在该视图中,我有几个组件,其中一个是UIImageView。我将此ProductView设置为UITableViewCell的内容视图。除了UIImageView之外,一切都被正确绘制。 UIImageView无意义地缩放。它的高度是表格单元格大小的两倍。

我花了好几个小时试图解决这个问题。我手动设置了UIImageView的框架,我在UIImageView中调用了UIImage的drawRect方法,它们都没有工作。

如果我找不到解决方案,我正在考虑用UIScrollView替换UITableView。有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用自定义单元格,将所有UI组件放在该单元格内(包括UIImageView),并在cellForRowAtIndexPath方法中,设置如下图像:

[cell.imgView setContentMode:UIViewContentModeScaleAspectFit];
[cell.imgView setFrame:CGRectMake(cell.imgView.frame.origin.x, cell.imgView.frame.origin.y, 120, 79)];      
[cell.imgView setImage:[UIImage imageNamed:@"image.png"]];          

如果您需要知道如何使用自定义单元格,请按照本教程进行操作:

iPhone Programming Tutorial: Part 6: Creating custom UITableViewCell Using Interface Builder [UITableView]

希望这可以帮助你...

答案 1 :(得分:0)

我遇到了同样的问题并最终意识到问题与自动调整大小无关,只是我没有得到UIImageView,而是它的父视图(表格单元格),到期冲突标记值(我通过调用UIImageView *pictureView = (UIImageView *)[cell viewWithTag:0];获取视图,并且还在单元格上设置了标记零)。只需更改标记值即可修复。