我有一個UINavigationController。我將VC1作爲rootViewController並以編程方式從VC1加載VC2,然後將自定義動畫從VC1轉到VC2。標準。一切都很好,很好。現在自定義UINavigationController動畫:CATransition
,我想有兩個之間的自定義動畫像這樣:
總之,VC1滑出的觀點,而VC2是它下面。就像一疊紙,您可以將第一張紙(VC1)滑走,從而顯示下方的紙張(VC2)。
所以我試着從VC1調用以下代碼來獲得VC2。但也有與它的問題:
MyVC2 *vctwo = [[[MyVC2 alloc] init] autorelease];
CATransition *transition = [CATransition animation];
transition.duration = 1;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromRight;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[[self navigationController] pushViewController:vctwo animated:YES];
的問題如下:
- VC2是不固定的背景。它也可以滑入(即使我指定了kCATransitionReveal)。我想在後臺完全修復VC2。
- VC1淡出。我不知道爲什麼。我沒有使用kCATransitionFade之類的東西,所以我看不到淡入淡出的地方。
任何建議爲什麼我沒有得到預期的結果將非常感激。對不起,如果這是顯而易見的,但我現在試了幾個小時,真的很沮喪。
感謝Ole,我改變了它,VC2不再移動。應該想到它。雖然有關於淡入淡出的想法?我仍然看不到淡出動畫的來源。 –
我認爲淡入淡出實際上是UINavigationController動畫的組成部分,我似乎無法擺脫它。你知道任何方式來禁用UINavigationController實現的自定義淡入淡出動畫嗎? –