在Swift 3中从上到下过渡

时间:2016-12-27 20:50:18

标签: ios swift

我需要帮助自定义segue从上到下的过渡。它很容易过渡,但我不知道该怎么做。它是在故事板中完成还是我必须在代码中完成?如果它必须以编程方式完成我的工作方式吗?

1 个答案:

答案 0 :(得分:2)

您正在尝试为推送segue编写自定义过渡动画。所以这就是你要做的事情:

  • 设置导航控制器的代理。

  • 在委托中,实现func navigationController(_ navigationController: UINavigationController, animationControllerFor operation: UINavigationControllerOperation, from fromVC: UIViewController, to toVC: UIViewController) -> UIViewControllerAnimatedTransitioning?以返回实现UIViewControllerAnimatedTransitioning的对象(在现实生活中通常为self

  • 在该对象中,实施func transitionDuration(using ctx: UIViewControllerContextTransitioning?) -> TimeIntervalfunc animateTransition(using ctx: UIViewControllerContextTransitioning)

  • animateTransition中,从上下文(ctx)获取信息。将to视图放入containerView并将其动画显示为finalFrame。在您的情况下,您将从最终帧上方的视图开始,并按照您的指定向下设置动画。完成所有操作后(即在动画的完成处理程序中),请务必在上下文中调用completeTransition