当我设置实例的backgroundColor
属性时CALayer
,更改似乎有点动画.但在我的情况下,我不希望这样.如何设置backgroundColor
无动画?
Ben*_*Ben 34
您可以CATransaction
使用禁用的动画将更改包装为:
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
//change background colour
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)
rou*_*nak 12
[CATransaction begin];
[CATransaction setDisableActions:YES];
//your code here
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)
小智 9
尝试给你的图层delegate
,然后有delegate
实现:
- (id<CAAction>)actionForLayer:(CALayer *)layer forKey:(NSString *)key {
return [NSNull null];
}
Run Code Online (Sandbox Code Playgroud)
迅速
这里还有其他一些Swift答案,但我认为这是最基本的答案:
CATransaction.begin()
CATransaction.setDisableActions(true)
// change the layer's background color
CATransaction.commit()
Run Code Online (Sandbox Code Playgroud)