在UITableViewCells中做圆角的明确方法?

时间:2011-11-20 23:23:02

标签: iphone performance uitableview rounded-corners

所以我一直在网上,试图找出一个明确的方法来做到这一点,我似乎无法得到它。我的每个表视图单元都有3个动态加载的图像,我需要添加圆角。现在我正在使用Quartz和ImageViews的layer.cornerRadius属性来围绕角落,但当然它会破坏表格视图的滚动性能。

在线浏览,我似乎找不到性能问题的答案。大多数线程最终建议使用预渲染的静态图像(对于我来说不是一个选项,因为图像是从网上动态加载的)或Loren Brichter为Tweetie提出的一些绘图技巧 - 但是,示例项目他发布在他的博客上现在是一个死链接,我无法在任何地方找到它。

所以基本上,我的问题是我应该如何在不牺牲性能的情况下完成表视图单元格内元素的圆角?谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

如何使用蒙版概念,并在动态图像上覆盖具有透明背景的蒙版UIImageView。没有尝试过,我的自己,但这是一个选择。

答案 1 :(得分:0)

看看其他答案,看起来你正在使用大量的alpha透明度,这将大大降低你的性能。您可以考虑重新访问以获取其他帧。您可以尝试的一个想法是在图形上下文中渲染圆形图像,并将其用作单元格图像而不是QuartzCore舍入。

  1. 将图像加载到imageview
  2. 绕过角落
  3. 将图像渲染为图形上下文
  4. 使用新图像设置图像视图
  5. 关闭四舍五入
  6. cellForRowAtIndexPath:方法中完成所有这些操作。可能会有更高的效率(如缓存渲染图像),但这是一种至少测试预渲染圆形图像性能的方法。