gpt4 book ai didi

ios - 阴影减慢 UIScrollView

转载 作者:可可西里 更新时间:2023-11-01 00:37:35 25 4
gpt4 key购买 nike

我有一个 UIScrollView,它的功能与 Facebook news feed 非常相似。我认为我的元素正在减慢滚动 fps。通过消除过程,我发现阴影会减慢我的应用。

ScrollView 中的 UIView 框有这样的配置:

self.layer.shadowColor = UIColor.blackColor().CGColor
self.layer.shadowOffset = CGSizeMake(0, 2)
self.layer.shadowRadius = 2
self.layer.shadowOpacity = 0.15

就像新闻提要一样,我的 ScrollView 有很多框,因此 UIView 有自己的阴影。如何在不减慢我的应用程序速度的情况下解决这个问题?

最佳答案

有很多关于加速 UIScrollViews 的东西:

如果您使用自定义 CALayer 实例——尤其是阴影——需要处理能力的东西,您应该使用

scrollView.layer.shouldRasterize = YES;
scrollView.layer.rasterizationScale = [UIScreen mainScreen].scale;

还有一个 shadowPath 可以加速你的 ScrollView ,就像这样:

[scrollView.layer setShadowPath:[[UIBezierPath bezierPathWithRect:myView.bounds] CGPath]];

设置一个 shadowPath 可以让 iOS 不必在每次绘制 View 时重新计算应该如何绘制阴影,从而提高性能。

在 swift 中,是这样的:

let shadowPath = UIBezierPath(rect: view.bounds);
view.layer.masksToBounds = false;
view.layer.shadowColor = UIColor.blackColor().CGColor;
view.layer.shadowOffset = CGSizeMake(0, 0.5);
view.layer.shadowOpacity = 0.2;
view.layer.shadowPath = shadowPath.CGPath;

关于ios - 阴影减慢 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30601695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com