gpt4 book ai didi

iphone - 圆 UIView 角落的最佳和最快方法?

转载 作者:可可西里 更新时间:2023-11-01 03:32:34 24 4
gpt4 key购买 nike

我目前正在重写一个调整(在 SpringBoard 本身内部运行),因此(当然)平滑度、速度和效率对我来说是最重要的事情,因为即使是最轻微的不必要的滞后也会花费远离用户体验。

所以我的问题是如何以最小的延迟来绕过 View 角。

最明显的是:

view.layer.cornerRadius = value;
view.layer.masksToBounds = YES;

但是我听说用 layer.mask 设置 CALayer mask 更快?如果是这样,这两种解决方案中哪一种最好?:https://stackoverflow.com/a/4930166/458205

这段代码使用了 mask ,但是 mask 层也使用了 cornerRadius,所以这实际上更快吗?

CALayer *maskLayer = [CALayer layer];
maskLayer.cornerRadius = radius;
// set the mask
self.view.layer.mask = maskLayer;

或者上述链接的解决方案 1,或 this answer更高效?

我知道我多次提到另一个问题,但是这个问题是关于只屏蔽 2 个角(这会引发一些不同的解决方案)但是我要求最有效的方式让 0.6 屏幕尺寸的 View 滚动为圆角尽可能平滑(像这张图片)。 CardSwitcher Screenshot

最佳答案

您需要设置 rasterizationScale 以及 view.layer.shouldRasterize。

我通常这样做:

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

如果您不设置 rasterizationScale,它将始终默认为 1(在本例中为非视网膜)进行光栅化。

对我来说,这通常使我的滚动性能与 UITableView 的性能相当。

关于iphone - 圆 UIView 角落的最佳和最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632401/

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