我有两个视图,我想使用核心动画在两个视图之间切换,为每个视图的图层设置动画。我想要的动画就像提供的一样,UIViewAnimationOptionTransitionFlipFromLeft
但我无法做到。我可以让图层旋转 180 度,然后在动画停止时转换到下一个视图。如何才能做到这一点?
我使用的代码如下:
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"];
self.view.layer.zPosition = 100;
CATransform3D transform = CATransform3DMakeRotation(M_PI, 0, 1, 0);
[animation setToValue:[NSValue valueWithCATransform3D:transform]];
[animation setDuration:.5];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[animation setFillMode:kCAFillModeForwards];
[animation setRemovedOnCompletion:YES];
[animation setDelegate:self];
[self.view.layer addAnimation:animation forKey:@"test"];
在委托中,我转换到下一个视图。但是,这没有多大意义,并且动画不像默认动画提供的那样生动。如何做到这一点?