在UIViewController上实现两个UIView之间的翻转动画

5

我在视图控制器上有两个UIView。我想在用户触摸时在两个视图之间翻转。除了我尝试的动画之外,一切都很好。我尝试了两种方法,第一种是:

[UIView transitionFromView:frontView toView:backView 
duration:01.0 options:UIViewAnimationOptionTransitionFlipFromRight 
completion:NULL];

这段代码实际上是在动画整个视图控制器的视图,而我只想要其中我的视图所在的部分,即屏幕中心的约320x200像素区域。
然后我尝试了另一种选项,即:
[UIView animateWithDuration:1.0 delay:0.0
            options:UIViewAnimationOptionTransitionFlipFromRight 
            animations:^{
        [frontView removeFromSuperview];
        [self.view addSubview:backView];
    } completion:nil];

但是这并没有使视图动画化。只是在没有任何动画的情况下立即切换视图。可以有人帮我理解我做错了什么或需要改变的地方吗?非常感谢您的时间和考虑。


尝试使用此链接(https://dev59.com/GW025IYBdhLWcg3w9quQ)可能会有所帮助,或者尝试将持续时间增加到2秒。 - Paresh Navadiya
1个回答

4
我发布问题后不久就找到了一个很好的答案,关于如何翻转独立的UIView(无需翻转父视图),你们可以参考以下链接:How to flip an individual UIView (without flipping the parent view)。这个技巧是使用第三个UIView作为容器视图,然后将需要进行动画处理的视图添加为其子视图,以达到预期效果。请注意,我正在使用在我的问题中提到的第一种方法。感谢大家抽出时间来解答。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接