好的,我已经研究这个问题一段时间了,这远远超出了我的专业知识,因此我再次寻求帮助。
我正在尝试为 tabbarbutton 单击到另一个视图的过渡设置动画。我已经在两个 viewController (ViewWillAppear) 方法中声明了下面的代码
- (void)viewWillAppear:(BOOL)animated
{
//TODO: Fix transition animation
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:self.view cache:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView commitAnimations];
[super viewWillAppear:animated];
}
右边是 FirstViewController,左边是 SecondViewController。
现在问题发生在用户第一次加载应用程序时,一旦所有内容加载完毕并且用户单击标签栏按钮转到第二个视图,它不会翻转..但是当您返回 FirstView 时,它会动画然后如果你再去第二次,这一次它会动画。有人知道为什么会这样吗?如果您提供帮助,将不胜感激!
更新:: 我正在尝试将动画添加到 viewDidLoad 中,但是已经有一个动画用于我正在加载的打开序列。
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//-- Start Opening Animation ------->
CGRect vaultTopFrame = vaultTop.frame;
vaultTopFrame.origin.y = -vaultTopFrame.size.height;
CGRect vaultBottomFrame = vaultBottom.frame;
vaultBottomFrame.origin.y = self.view.bounds.size.height;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.5];
[UIView setAnimationDelay:2.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
vaultTop.frame = vaultTopFrame;
vaultBottom.frame = vaultBottomFrame;
[self.view bringSubviewToFront:vaultTop]; //this should place this subview above any others on the same page
[self.view bringSubviewToFront:vaultBottom]; //this should place this subview above any others on the same page
[UIView commitAnimations];
我想这可能会让我搞砸了,你怎么看?