测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布上次发布 | 2017年6月 |
SwiftSwift版本 | 3.0 |
支持SPM支持SPM | ✗ |
由Pablo Alejandro Pérez Martínez维护。
Transition库提供了一个简单的实现,通过仅通过继承您的视图控制器来执行过渡动画,这些动画可以是交互式的。
首先,您需要通过添加import Transitions
来导入您要继承的视图控制器中的库。
然后,使用正确的视图控制器对象进行继承
TransitionViewController
TransitionNavigationController
TransitionTabBarController
当初始化您的子类时,初始化其transitionConfiguration
属性
let properties = TransitionProperties(duration: 0.5, modalPresentationStyle: .overFullScreen)
let configuration = TransitionConfiguration.noninteractive(transitionProperties: properties)
self.transitionConfiguration = configuration
最后,使用您子类中的公共方法,通过仅定义一个包含动画的块,以便以自定义动画呈现或隐藏新的视图控制器
let vc = UIViewcontroller()
let presentBlock = { (transitionContext: UIViewControllerContextTransitioning, duration: TimeInterval) in
let toViewController = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.to)!
let containerView = transitionContext.containerView
toViewController.view.alpha = 0.0
containerView.addSubview(toViewController.view)
UIView.animate(withDuration: duration, animations: {
toViewController.view.alpha = 1.0
}, completion: { finished in
transitionContext.completeTransition(!transitionContext.transitionWasCancelled)
})
}
self.present(vc, presentBlock: presentBlock)
TransitionViewController
-> UIViewController
子类,允许通过使用实例方法呈现/消失交互式过渡。TransitionNavigationController
->UINavigationController
子类,允许通过使用实例方法推送/弹出交互式过渡。TransitionTabBarController
-> UITabBarController
子类,允许通过使用实例方法选择交互式过渡。Transition
-> 协议和对象声明。GenericTransition
-> 实现Transition协议的主要管理器。