1

所以我有一个滚动视图,一侧有 10 个按钮。总是当我滚动到那个页面时,我会得到很多糟糕的表现。然后我注意到是 CALayer 造成了延迟!我用过

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

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

button.layer.shouldRasterize = YES;

它应该工作得更好。但它只是降低了分辨率,并没有提高性能。所以我尝试在 GIMP 中剪掉边缘,但是当我将它们添加到 XCode 时,它​​们被填充为白色!所以,请告诉我,有没有什么方法可以让我在不表现不佳的情况下通过 CALayer 或不通过 CALayer,这并不重要。任何帮助表示赞赏!

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

更新:

它只适用于 iPhone 4 的性能不佳,我在我的 iPad Mini 上试过,效果很好!

4

1 回答 1

2

您可以按照您的建议使用 GIMP 创建这些图像。成功的关键是opaque将视图的值设置为NO,这意味着启用透明度。但请记住,将视图的 opaque 值设置为 NO 可能会导致性能损失,尤其是在快速变化的视图(如UIScrollViewCell.

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

于 2013-02-03T19:42:03.143 回答