2011-02-02 5 views
1

右のナビゲーションコントローラスタック(アニメーション:はい)からカスタムビューコントローラをポップすると、右に通常のスライドが表示されます。私はあなたがコントローラを押したとき(右からスライドする)と同じようにアニメーションを見せたいと思っていますが、プッシュではなくポップであるという効果があります。私はどのように私の探求を始めるべきですか?これはviewWillAppearで行う必要がありますか?ナビゲーションスタックからビューコントローラをポップアップするときに右からスライド

答えて

1

これまでと同じように、ビューのカスタムアニメーションを作成しました。はじめに、私はthe core animation frameworkを調べます。あなたが望むものは、Apple DocumentationのUIView animationsであるかもしれません。

基本的には、viewDidLoadのフレームをオフスクリーンに設定します。その後viewDidAppearに、あなたはフレームが終了フレームに設定しますが、このコードでラップ:

[UIView beginAnimations:@"animationsNameThisCanBeAnythingOrNil" context:nil] 
//Reset the frame here 
[UIView commitAnimations]; 

私はこれが役に立てば幸い!

CATransition *animation = [CATransition animation]; 
[animation setDuration:0.5]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromRight]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 
[[self.navigationController.view layer] addAnimation:animation forKey:nil]; 
[self.navigationController popViewControllerAnimated:NO]; 

あなたはあなたからポップされている基本的なUIViewのは、持っていることを確認したい場合があります:それは、これは私が頼まれたものを達成するために使用しているコードで、誰かを助け念の

0

そうでない場合は透明な背景が表示されます。ポップアップすると、古いUIViewが滑って白くなるのが見えます。

関連する問題