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

标签 ios objective-c

我很好奇当我使用 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/

相关文章:

iphone - "release"如何在 ARC 上创建一个 UIWebView

ios - 将值读取为某些类型时出现问题

ios - 将CLLocationCoordinate2D转换为PFGeoPoint吗?

ios - 在 Objective-C 中保存 CNPostalAddress

objective-c - 根据 UILabel 动态调整 uitableViewCell 的大小(带段落间距)

ios - 在AFJSONRequestOperation中设置JSONReadingOptions

ios - 将图像从应用程序复制到文档目录并在之后重写

ios - 点击该单元格时,如何访问 uicollectionviewcell 内标签的文本属性? ( swift )

ios - 如何运行异步操作

iphone - 检查值是否为整数(Objective-C)