这是一个容易使用的交互式缩放转换,用于将视图控制器显示到导航堆栈中。此转换模仿了iOS 7 & 8的照片应用。
在关闭显示的视图控制器时,ZoomTransition支持捏、旋转和平移手势。
要将在您的应用程序中使用此转换,只需通过传入当前NavigationController来创建一个ZoomTransition对象。然后将ZoomTransition对象设置为NavigationControllers的代理。
if let navigationController = self.navigationController {
self.animationController = ZoomTransition(navigationController: navigationController)
}
self.navigationController?.delegate = animationController
// present view controller
let imageViewController = ImageViewController(nibName: "ImageViewController", bundle: nil)
self.navigationController?.pushViewController(imageViewController, animated: true)
最后,您必须在提供者和显示的视图控制器上实现ZoomTransistion协议,以便ZoomTransition知道要过渡哪个视图。
func viewForTransition() -> UIView {
return imageView
}
您可以通过在Podfile中添加以下内容轻松地将ZoomTransition添加到项目中
pod 'ZoomTransition', '~> 0.2'
否则您可以直接将ZoomTransition.swift包含到您的项目中。