如何在没有动画的情况下为 CALayer 添加子图层?通常当你添加一个“淡入”时,当你删除它时,它会“淡出”。
如何制作动画?
答案 0 :(得分:6)
你试过这个:
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
[layer addSublayer:sublayer];
[CATransaction commit];
答案 1 :(得分:2)
您还可以通过在超级图层上设置操作字典来抑制隐式图层添加动画,就像我在this answer中所描述的那样:
NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"sublayers", nil];
superlayer.actions = newActions;
[newActions release];
答案 2 :(得分:0)
您可以使用
[CATransaction setAnimationDuration:0.0f];