2011-09-21 28 views
1

我有一个UITableView我们只想放一个彩色正方形。根据UITableViewCell中的数据,UIView会更改其背景颜色。这就是现在的样子。对我来说,最好只有一个UIImageView,并为不同的颜色方块有一个.png图像,并根据UITableViewCell中的数据为每个单元加载正确的一个。我不确定哪种方法更好,或者是否有更好的方法我不知道。有什么想法吗?谢谢。UIView或UIImage在UITableView中,有什么更好的性能

回答

2

已经使用了表格单元格中包含的图像,我不得不相信,只需使用UIView并将其背景颜色设置为任何需要的就会快得多。

即使使用本地图像(应用程序包中的图像),想想所有额外的工作,你会创建一个UIImage,然后设置UIImageView的图像属性?

在我的情况下,在两个不同的项目中,我不得不将图像从网络加载到表单元格中。相当缓慢,所以我们在后台进行了处理,这有它自己的挑战和特殊的条件来处理。这对你所描述的内容来说太过于夸张。

我会用UIView和背景颜色去。当然,你可以自己尝试两种方式,看看它是如何为你工作的。 :-)请记住在真实设备上进行测试,因为很容易被误解为“一切都很棒!”当你在模拟器上看你的应用程序尖叫! :-)

+0

如果我不想要一个quare UIView,而是一个圆圈,你知道这个性能是否相同?就像如果我必须做一些事情到UIView做一个圆圈(我没有看过Quartz在一段时间,但我假设这是一个方法来获得漂亮的UIViews作为圆而不是正方形)。谢谢。 – Crystal

+1

通过在视图上使用UILayer cornerRadius属性,我实现了从其他方形UIViews(或其子类,如UILabel)实现的圆圈。 'view.layer.cornerRadius = 20',在这种情况下,20是视图实际宽度的一半,高度与宽度相同,有效地将方形变为圆形。但是在这里要注意,因为当你开始做更多的东西时,尤其是在图层上时,你会在每个单元格被渲染时减慢你的表格滚动。当我们试图给单元格的contentView添加阴影时,我们看到了这一点。非常慢。但你的里程可能会有所不同,所以试试吧。 :-) –

+0

感谢您的提示! – Crystal

1

我认为用一些颜色填充背景比从文件加载图像更好。它会更快,因为你不需要访问文件系统。

1

绝对只是使用视图的背景颜色。充满纯色的不透明视图是您绘制速度最快的事物之一;一个PNG会明显变慢,会消耗更多的内存,并且会不必要地膨胀你的应用程序包的大小。

相关问题