2011-02-02 69 views
1

現在,當我從導航控制器堆棧彈出自定義視圖控制器(帶有動畫:YES)時,它通常會向右滑動。我想讓動畫看起來與您推動控制器時相同(從右側滑入),但仍具有流行而非推動的效果。我應該如何開始我的追求?這應該在viewWillAppear中完成嗎?從導航堆棧彈出視圖控制器時從右側滑入

回答

1

我曾經做過一個視圖的自定義動畫,與此類似。至於入門,我會考慮the core animation framework。在Apple文檔中,比您想要的更匹配的可能是UIView animations

基本上,您將viewDidLoad中的幀設置爲離屏。然後在viewDidAppear,你設置的框架是結束幀,但在這個代碼把它包:

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

我希望這有助於!

0

萬一它可以幫助別人,這是我用來實現什麼要求代碼:

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有一個清晰的背景,否則當你彈出你會看到舊的UIView褪色爲白色,因爲它滑落。

相關問題