我在我的 iOS 应用程序中翻转两个子视图时遇到了困难。它的设置方式是我在我的界面文件中创建了一个视图。当视图加载时,视图 1 应该出现在该视图中(通过使用 实现addSubview
)。当在 View1 上按下按钮时,它应该翻转以显示 view2。
根据 StackOverflow 中的各种问题,我实现了以下代码:
-(void)LetUsFlip
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:_containerView cache:YES];
if ([self.view1 superview])
{
NSLog(@"Show View 2");
[view1 removeFromSuperview];
[_containerView addSubview:view2];
[_containerView sendSubviewToBack:view1];
}
else
{
NSLog(@"Show View 1");
[view2 removeFromSuperview];
[_containerView addSubview:view1];
[_containerView sendSubviewToBack:view2];
}
[UIView commitAnimations];
}
当我运行此代码时,第一个翻转动画效果很好,即按下按钮时显示视图 2。但是当我再次按下视图 2 中的按钮时,动画发生并且视图 1没有显示 - 给出一个空白屏幕。View1 和 View2 上的按钮都分别调用了上述方法。NSLog 也完全按照它应该的方式工作,但在动画方面存在问题。
谢谢。