【发布时间】:2010-07-26 19:39:45
【问题描述】:
如何在没有动画的情况下向 CALayer 添加子图层?通常,当您添加一个时,它会“淡入”,而当您删除一个时,它会“淡出”。
如何抑制动画?
【问题讨论】:
标签: objective-c core-animation calayer
如何在没有动画的情况下向 CALayer 添加子图层?通常,当您添加一个时,它会“淡入”,而当您删除一个时,它会“淡出”。
如何抑制动画?
【问题讨论】:
标签: objective-c core-animation calayer
你试过这个吗:
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
[layer addSublayer:sublayer];
[CATransaction commit];
【讨论】:
您还可以通过在超级层上设置动作字典来抑制隐式添加层动画,就像我在this answer 中描述的那样:
NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"sublayers", nil];
superlayer.actions = newActions;
[newActions release];
【讨论】:
你可以使用
[CATransaction setAnimationDuration:0.0f];
【讨论】: