自从iOS7以来,我们可以使用UIViewControllerTransitioningDelegate创建自定义过渡效果,这允许进行精细的过渡。
viewController.transitioningDelegate = transitioningDelegate;
我发现当使用storyboard时,我们已经有机会使用一个自定义的UIStoryboardSegue
创建自定义的转场,但似乎这是在storyboard中实现自定义转场的唯一方法。
在使用storyboard的情况下,我该如何实现转场代理呢?
prepareForSegue
中我没有设置modalPresentationStyle
,并且在animationControllerForPresentedController
和animateTransition
方法之间有一段时间差(大约0.4秒,有时甚至达到0.7秒;我的转场动画持续1秒加上这个时间差,几乎是两倍的时间)。我试图找出这段时间差是什么原因,但这不是故障(我认为),因为我没有任何可能导致这种延迟的进程。当我添加modalPresentationStyle = UIModalPresentationCustom
时,这个时间差就消失了。为什么会这样?谢谢。 - Dima Deplov