我正在开发一个包含堆叠视图的应用程序,我希望当用户向下滑动图像视图时此翻转并显示另一个视图。它工作但是当它垂直翻转时它与下面的视图合并并显示另一个图。
请仔细阅读链接,我们会知道:https://dribbble.com/shots/1667024-Events-deck-animation
在上面的链接中,在向左和向右滑动之后的动画中,用户将垂直向下而不与下面的视图合并。请提供任何帮助如何实现此垂直翻转动画,如上述链接所示。
我正在使用以下代码对单层进行翻转:
float duration = 1.0f;
CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.x"];
animation.delegate = self;
animation.fromValue = [NSNumber numberWithDouble:-0.0f * M_PI];
animation.toValue = [NSNumber numberWithDouble:-1.0f * M_PI];
animation.duration = duration;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeRemoved;
animation.repeatCount =1;
animation.beginTime = CACurrentMediaTime();
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
[photo.layer addAnimation:animation forKey:@"rotationX"];
photo.layer.position = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
请任何人知道它,我需要实现这个动画。
答案 0 :(得分:2)
尝试使用UiView的transitionFromView方法UIViewAnimationOptionTransitionFlipFromBottom
或UIViewAnimationOptionTransitionFlipFromTop
来实现UIView上的动画而不是视图的图层。
像:
[UIView transitionFromView:viewToReplace
toView:replacementView
duration:1
options:UIViewAnimationOptionTransitionFlipFromTop
completion:nil];
在viewToReplace
修改强>: 可能这对你有用。
// Consider flipView as the view that need to flip vertical
[UIView transitionWithView:flipView
duration:1
options:UIViewAnimationOptionTransitionFlipFromTop
animations:^{
// flipView.backgroundColor = [UIColor greenColor];
// update to be done with flip
} completion:nil];
答案 1 :(得分:0)
只需尝试对代码中的最后一行进行注释,您的视图就会在同一个地方动画或垂直翻转,而不会与基础视图合并。