在 Swift 中创建滑动转场
Posted
技术标签:
【中文标题】在 Swift 中创建滑动转场【英文标题】:Creating a sliding segue in Swift 【发布时间】:2015-04-21 23:43:29 【问题描述】:我正在尝试在两个“滑动”到下一个视图控制器的视图控制器之间创建一个 segue/transition。我所说的“滑动”是指它只移动平移手势的平移量(类似于 Snapchat)。如果您能帮我解决这个问题,或者只是为我指明正确的方向,那就太好了。
【问题讨论】:
【参考方案1】:这种效果是使用 ios7 中引入的自定义交互过渡来实现的。这里有一些教程可以查看:
请参阅使用视图控制器的自定义转换。 https://developer.apple.com/videos/wwdc/2013/ http://www.thinkandbuild.it/ios7-custom-transitions/ http://objectivetoast.com/2014/04/14/interactive-transitions/ http://www.teehanlax.com/blog/custom-uiviewcontroller-transitions/ 这个例子给出了许多可以实现的效果的例子。 http://www.appcoda.com/custom-view-controller-transitions-tutorial/当我实现它时,我发现,为了可重用性,最好有一个 UIPercentDrivenInteractiveTransition
的子类(我们将其称为 TransitionManager
)来实现协议 UIViewControllerTransitioningDelegate
、UINavigationControllerDelegate
和 @987654330 @。
- 然后,如果您需要在自定义转换中以模态方式呈现UIViewController
:在prepareForSegue
中设置:
destinationViewController.modalPresentationStyle = .Custom
destinationViewController.transitioningDelegate = TransitionManager()
- 如果您使用的是UINavigationController
,那就更简单了,您只需将UINavigationController
的delegate
设置为您的TransitionManager
。
希望在您完成教程后开始理解。
【讨论】:
以上是关于在 Swift 中创建滑动转场的主要内容,如果未能解决你的问题,请参考以下文章
在计时器的帮助下,Swift 4 在页面视图控制器中自动滑动