我希望能够在不进行动画的情况下从其超级图层中删除CALayer。在此处发生的情况是,图层动画到一个位置,效果很好,但当动画停止时,执行此代码,将图层返回到其起始位置,并淡出;然后可能会从超级图层中删除。如何阻止它进行动画-removeFromSuperlayer?在此处列出的代码对于包括取消注释和未取消注释的所有变体、事务或无事务都具有相同的行为。我错过了什么?
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
//[self setHidden: YES];
//[CATransaction flush];
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
//[CATransaction setDisableActions: YES];
//[CATransaction setAnimationDuration: 0];
[self removeFromSuperlayer];
[CATransaction commit];
}
今日免费次数已满, 请开通会员/明日再来
NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"onOrderIn", [NSNull null], @"onOrderOut", [NSNull null], @"sublayers", nil];
是否更好用。 - Brad Larson