我在视图中创建了一堆子图层,用图形填充每个子图层,因此它们实际上是精灵。但是,当我致电[lineLayer setValue:[NSNumber numberWithFloat:0.5] forKeyPath:@"transform.scale"]
时,它似乎“补间”到该尺寸,而不是仅仅以新尺度出现。
有没有办法关掉这种行为?我只是想直接改变比例。
谢谢!
: - 乔
答案 0 :(得分:12)
啊,我刚刚回答了我自己的问题......我一直在这里做这个!
来自帮助:
您可以暂时禁用图层 更改图层属性时的操作 通过设置值的值 交易的 kCATransactionDisableActions为true。 在范围内进行的任何更改 该交易不会导致 动画发生。清单2显示 一个禁用淡入淡出的示例 删除时发生的动画 aLayer来自可见的图层树。
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
[aLayer removeFromSuperlayer];
[CATransaction commit];
答案 1 :(得分:10)
另外,为清洁起见,请使用以下行:
[CATransaction setDisableActions:YES];
代替这一个:
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];