Tableview渲染故障

时间:2013-01-07 20:05:35

标签: ios

我正在尝试在tableview单元格的缩略图图像周围添加阴影。但是,当我这样做时,它无法正确呈现,如下面的屏幕截图所示:

http://imageshack.us/photo/my-images/27/iossimulatorscreenshot7r.png/

(抱歉,无法将截图嵌入为新用户!)

在应用程序的另一个tableview中,相同的代码完全如图所示:

http://imageshack.us/photo/my-images/4/iossimulatorscreenshot7.png/

我使用的代码完全相同:

ImageView.image = [UIImage imageNamed:image];
ImageView.layer.borderColor = [UIColor blackColor].CGColor;
ImageView.layer.borderWidth = 1;

当我尝试在tableview上添加阴影时会出现问题:

imageshack.us/content_round.php?page=done&l=img577/1947/iossimulatorscreenshot7.png

有什么想法吗?

我主要使用故事板设置所有内容,所以也许可以用它做些什么?

1 个答案:

答案 0 :(得分:0)

(来自我原来的评论)第一张图片看起来像是你在UITableViewCell对象的边界而不是单元格内的UIImageView对象。

确实解释了它。

您的UIImageView实际上不是您的图片视图,它是对整个UITableViewCell的引用,这就是边框在整个单元格周围绘制的原因,而不仅仅是图像。由于您调用的边框方法适用于所有UIView,而UITableViewCellUIImageView恰好是UIView的子类,因此您的应用不会崩溃。

问题是......为什么他们错了。您是如何分配ImageView变量的?是在代码还是IBOutlet中完成的?如果是IBOutlet,请检查视图控制器上的“Connections Inspector”,确保没有意外地将单元格挂起而不是图像(这是我的猜测)。如果您在代码中执行此操作,我们可能需要查看代码。

旁注:约定说变量名称应以小写字母开头。类名应以大写字母开头。所以UIImageView *imageView;