2012-10-31 134 views
3

我的iOS6應用程序具有多級表格視圖,其葉節點打開單獨的視圖。來自桌子第一層的動畫將舊視圖向左滑動,並將新視圖從右側滑動。我希望在從表格視圖切換到非表格視圖時使用此滑入式動畫。怎麼樣?iOS「從左/右滑入」視圖動畫

下面是詳細信息:

在表視圖的第一級,也有披露指標enter image description here。點擊時,表格的第一層滑向左側,第二層視圖從右側滑入。好。

在表格的第二層,有詳細信息披露按鈕enter image description here,它們將用戶帶到表格中該元素的詳細視圖。

我也想在這裏提供同樣的動畫:表格視圖應該向左滑動,新視圖應該從右側滑動。

首先,我糾正這是在這種情況下使用的正確動畫嗎?

二,你知道爲什麼這個「滑入」動畫不在下面的UIViewAnimationTransition的標準視圖動畫中嗎?

typedef enum { 
    UIViewAnimationTransitionNone, 
    UIViewAnimationTransitionFlipFromLeft, 
    UIViewAnimationTransitionFlipFromRight, 
    UIViewAnimationTransitionCurlUp, 
    UIViewAnimationTransitionCurlDown, 
} UIViewAnimationTransition; 

最後,如果我想使用的動畫相同的幻燈片將意見表中使用,但表視圖和之間轉換時,它不是可以作爲標準視圖中的一個,我應該怎麼添加此動畫非表格視圖?

+0

我認爲這不是默認動畫的一部分,因爲它可以通過翻譯視圖(將'frame.size.width'添加到'frame.origin.x'),而不是其他的。要重現此動畫:爲什麼不將視圖包裝到視圖控制器中並將其推送到導航控制器上? – 2012-10-31 18:45:31

+0

是的,使用導航控制器 – nielsbot

回答

8

通常這種類型的動畫是在UINavigationController中完成的,並且是將新viewController推入堆棧的結果。如果你想模擬它,你需要做的就是將新顯示的視圖添加到當前的基本視圖中,在當前視圖的右側(即離屏),並使用UIViewanimateWithDuration:animations:completion:方法來移動on-屏幕和離屏查看左側的一個屏幕。 (使用completion:塊取消原始視圖或將其保留原位,以便您可以輕鬆地將其重新制作回屏幕上。)

+0

我很抱歉,您不知道在哪裏訪問基本視圖...您是什麼意思? –

+0

基本視圖我的意思是當前viewController的視圖。將新視圖置於其右側,並將動畫移至左側,直到當前視圖離屏。然後,用新視圖替換viewController的視圖。 – rsswtmr

+0

謝謝 - 我試過了,你說得對:這是一個很好的方法。 +1 –