QTransition
QTransition 库用于轻松添加自定义视图转换,库内包括自定义展示控制器、 UINavigationController 自定义转换和交互式 UINavigationController 转换。有关如何使用此库的详细信息,请检查示例项目。此外,此库提供了一个使用视图转换来展示菜单的方法。
动机
视图转换一直是 iOS 开发中最复杂和困难的主题。同时,原生库在视图转换中提供的动画选项很少。因此,我希望创建一个转换库可以帮助社区。如果您觉得我的代码有用,那将是我莫大的荣幸。
自定义
欢迎fork此仓库并添加更多酷炫的视图转换效果。
如何添加新的视图转换类型
- 添加新的过渡类型非常简单,首先只需继承
QBaseTransition
(以QPushTransition
为例),并重写animateTransition(using transitionContext: UIViewControllerContextTransitioning, fromVC: UIViewController, fromView: UIView, toVC: UIViewController, toView: UIView)
方法; - 然后在
TransitionOptions
枚举中添加一个新的情况; - 最后,在
QTransition
便利构造函数中的 switch 块中创建一个新的情况,并将self.transition
指向您自己的自定义视图转换实例。
注意
fromView
是起始时可见的视图;toView
是结束时可见的视图;
示例
要运行示例项目,请先克隆仓库,然后从示例目录中执行 pod install
。
要求
iOS 10 或更高版本,Swift 4。如果您对这个库感兴趣并希望贡献,如果您对这个仓库感兴趣并希望贡献,请遵循 https://github.com/raywenderlich/swift-style-guide Swift 编码风格。
安装
QTransition 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'QTransition'
待办事项
- 基于 Material Design 动画指南 的动态持续时间。持续时间根据距离和大小变化自动确定;
- 交互式控制器和演示控制器设置存在缺陷。
作者
genus qiu(王), [邮箱地址隐藏]
许可
QTransition 在MIT许可下可用。有关更多信息,请参阅LICENSE文件。