CALayer =总滞后

时间:2013-01-30 19:23:44

标签: iphone uibutton calayer

所以我有一个带有10个按钮的scrollView。总是当我滚动到那个页面时,我会遇到很多糟糕的表现。然后我注意到CALayer正在创造滞后!我用过

button.layer.cornerRadius = 25;
button.layer.clipsToBounds = YES;

当我在互联网上搜索时,我发现我可以使用

button.layer.shouldRasterize = YES;

它应该更好。但它只是降低了分辨率并没有改善性能。所以我尝试在GIMP中剪掉边缘,但是当我将它们添加到XCode时,它们被白色填充!那么,请告诉我,有没有什么方法可以让我在没有糟糕表现的情况下圆角,通过CALayer或没有,无关紧要。任何帮助赞赏!

(ps。如果您需要整个代码或图片,请告诉我,我会添加它)

更新:

它仅适用于iPhone 4的不良性能,我在我的iPad Mini上试过它,它运行得很好!

1 个答案:

答案 0 :(得分:2)

您可以像建议的那样使用GIMP创建这些图像。成功的关键是将视图的opaque值设置为NO,这意味着启用透明度。但请记住,将视图的不透明值设置为NO可能会导致性能下降,尤其是在UIScrollViewCell等快速变化的视图中。

在你的情况下,它足够快,在其他情况下可能不是。如果背景为单色,则最好在图像处理程序中将该颜色用作背景颜色。 (并设置opaque = YES;