2012-10-31 138 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 –