gpt4 book ai didi

ios - 我在 drawInContext 中的 NSLog 永远不会停止

转载 作者:行者123 更新时间:2023-11-28 22:02:45 25 4
gpt4 key购买 nike

我很好奇当我使用 CABasicAnimation 为图层设置动画时会发生什么,所以我在图层的 - (void)drawInContext:(CGContextRef) 中放置了一个 NSLog ctx。但行为相当奇怪,它遍历所有值,然后继续记录最后一个或非常接近它的值。

CABasicAnimation *animation = [CABasicAnimation animation];
animation.duration = 5.0;
animation.fillMode = kCAFillModeForwards;
animation.removedOnCompletion = NO;
animation.delegate = self;
animation.fromValue = [NSNumber numberWithInt:255];
animation.toValue = [NSNumber numberWithInt:0];

这会生成一个带有 NSLog 记录动画值的以下内容。

...
value: 14
value: 13
value: 12
value: 11
value: 10
value: 9
value: 8
value: 7
value: 7
value: 6
value: 5
value: 4
value: 3
value: 3
value: 2
value: 1
value: 0
value: 0
value: 0
value: 0
...

它永远不会停止,它一直在记录 0。为什么要这样做?这是否意味着当 NSLog 不存在时此方法被调用了那么多次?

最佳答案

你的 animation.removedOnCompletion 没有

还有必须有人绘制您的图层,所以有时这是可以预料的

关于ios - 我在 drawInContext 中的 NSLog 永远不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24717565/

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