圆形UIScrollView性能

时间:2011-05-18 20:19:29

标签: iphone performance ios uiscrollview calayer

这在iPhone 4和3GS上运行良好:

scrollView.layer.cornerRadius = 11;
scrollView.layer.masksToBounds = YES;

但是在iPhone 3G和iPod touch第二代上,它使滚动变得非常生涩。我知道有一些关于如何提高CALayer投影效果的技巧(将shouldRasterize设置为YES和shadowPath属性),是否可以为CALayer做类似的事情cornerRadius?

2 个答案:

答案 0 :(得分:7)

滚动视图后面的内容(在圆角下显示的内容)是纯色还是静态?如果是这样,你应该能够通过在其中心覆盖“角落”图形 - 半透明,并在其滚动视图的角落顶部不透明(使用背景颜色或其他任何东西)来获得更好的性能。在您的内容上合成四张11x11图像的成本将远远低于剪裁它的成本。

答案 1 :(得分:2)

CALayers的渲染对于这种使用来说太慢了(特别是在旧设备上),在游戏等中使用它并不是很好。你可以切换到UIImages或cocos2d精灵,另一个选择是创建你自己的图层类使用OpenGL,虽然那不是那么简单。希望其中一个选项适合你。