当我试图做一个视图控制器中的两个视图之间的UI动画时,我一直有这个奇怪的问题。奇怪的用户界面视图动画效果
当它回到主菜单时,灰色条从中间到底部快速移动。它发生在第二个屏幕上的后退按钮,但很难看到。因此,基本上,视图内的部分正在飞来飞去,然后在动画转换完成时到达它们应该在的位置。
我知道动画看起来有点奇怪的代码,但在这里是要回到主菜单的方法:
- (void)gotoMain_t{
NSLog(@"switch to main");
[UIView beginAnimations:nil context:NULL]; {
for(UIView *v in [containerView subviews]) {
v.frame = CGRectMake(0, 0, 1024, 768);
[UIView setAnimationDidStopSelector:@selector(removeT:finished:context:)];
}
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
MainMenu *mainMenu = [[MainMenu alloc] init];
mainMenu.frame = CGRectMake(-1024, 0, 1024, 768);
[containerView insertSubview:mainMenu atIndex:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:.4];
[UIView setAnimationDelegate:self];
[[self.view.subviews objectAtIndex:0] setFrame:CGRectMake(1024, 0, 1024, 768)];
mainMenu.frame = CGRectMake(0, 0, 1024, 768);
[mainMenu release];
}
[UIView commitAnimations];}
任何想法?谢谢。
的setAnimationDidStopSelector看起来奇怪,这不是清楚你需要设置一个循环里面,因为我觉得它只是获取commitAnimation后调用。 – 2011-01-31 19:17:54
你期望发生什么? – 2011-01-31 19:18:24
我只是希望视图能够滑向另一个方向。但你看到我在说什么吗?没有明显的原因,灰色条从中间到底部。 – VagueExplanation 2011-01-31 19:37:14