gpt4 book ai didi

iphone - CALayer/CABasicAnimation 不透明动画缓存?

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:19 26 4
gpt4 key购买 nike

我有一个显示为对话框的 View ,当我希望将其从父 View 中删除时,我正在为其不透明度设置动画。

我正在使用以下代码通过 CABasicAnimation 更改其不透明度:

CALayer *opacityOutLayer = sheetView.layer;
CABasicAnimation *fadeOutAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeOutAnimation.fromValue = [NSNumber numberWithFloat:1.0];
fadeOutAnimation.toValue = [NSNumber numberWithFloat:0.0];
fadeOutAnimation.duration = 0.255;
[opacityOutLayer addAnimation:fadeOutAnimation forKey:@"opacity"];

这在模拟器中看起来很完美,但在设备上不是很流畅。有没有办法缓存动画(比如使用 UIView transition cache:YES)?

我确信这很简单,但在搜索文档和 CALayer 类信息后,我找不到任何东西来缓存它。

最佳答案

您可以尝试设置 layer.shouldRasterize = YES; 看看是否可以提高性能。

但请注意,一旦层的内容发生变化,shouldRasterize 将大大减慢合成速度。所以你应该只为某个动画启用它,然后再次禁用它。

关于iphone - CALayer/CABasicAnimation 不透明动画缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895694/

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