View Controllerで2つのビュー間でUIアニメーションを実行しようとすると、この奇妙な問題が発生しています。Strange UIアニメーション効果を表示
メインメニューに戻ると、灰色のバーが中央から下に向かってすばやく移動します。それは第2画面の戻るボタンに起こりますが、見るのは難しいです。ですから、基本的にビュー内の部品が飛び回っていて、アニメーションの切り替えが完了したときの位置に移動します。
私は、アニメーションのために、このコードは少し奇妙に見えるかもしれません知っているが、ここに戻って、メインメニューに行くための方法です:
- (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後に呼び出されると思うので、あなたは、ループ内でそれを設定する必要がはっきりしません。 –
何が起こると思いますか? –
私はちょうどビューを他の各方法にスライドさせたい。しかし、私が何を言っているのか見ていますか?灰色のバーは、明白な理由がないために中央から下に向かっています。 – VagueExplanation