绕UIView角落的最佳和最快的方式?

Kyl*_*lls 7 iphone performance objective-c calayer ios

我正在努力重写一个调整(在SpringBoard本身内部运行),因此(原因)平滑度,速度和效率对我来说是最重要的事情,因为即使是最轻微的不必要的延迟也会从UX.

所以我的问题是如何以最小的延迟来围绕视角.

显而易见的是:

view.layer.cornerRadius = value;
view.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

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

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

CALayer *maskLayer = [CALayer layer];
maskLayer.cornerRadius = radius;
// set the mask
self.view.layer.mask = maskLayer;
Run Code Online (Sandbox Code Playgroud)

或上述链接的解决方案1,或者这个答案是否更有效?

我知道我多次提到另一个问题,但是这个问题只是掩盖了两个角落(这会引发一些不同的解决方案)但是我要求最有效的方法让0.6个屏幕尺寸的视图尽可能平滑地滚动圆角(如此图片). CardSwitcher截图

Ham*_*ian 1

第一个片段更有效,因为圆角本身就是一个遮罩。要提高圆角的性能,请使用:view.layer.shhoudRasterize = YES;