我有一些带有子视图的视图,并且正在进行动画。在使用 shouldRasterize = YES 之前,我想要禁用动画,以便该视图层次结构子分支内的所有动画命令都将被忽略。
有没有简单的方法可以做到这一点?
我有一些带有子视图的视图,并且正在进行动画。在使用 shouldRasterize = YES 之前,我想要禁用动画,以便该视图层次结构子分支内的所有动画命令都将被忽略。
有没有简单的方法可以做到这一点?
正如Victor所说,你可以使用UIView的静态方法+ (void)setAnimationsEnabled:(BOOL)enabled)
来禁用动画。然而,这会在调用该方法后禁用所有视图的动画。你应该记得稍后启用动画。至于禁用特定层次结构的视图的动画,而不是其他的,则不可能。
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
layer.content = someImageRef;// set uiview property that you dont want it animate
[CATransaction commit];