A multiple content layer container view controller.
GQFlowController是一个多层次视图的容器控制器,其目标是实现灵活的UI结构。
特性:
- 支持自定义的滑入或滑出视图控制器方位
- 多层次内容视图容器结构
- 滑动手势
- 完整的ARC支持
- 支持iPad和iPhone
- 与iOS 7 UINavigationController相同的过渡动画效果
- 支持iOS 5及更新的版本
通过Category的特性来扩展UIViewController的方法,这些方法可以让你在UIViewController中访问GQFlowController的实例和其它方法。
GQViewController继承于UIGestureRecognizerDelegate,该协议定义了控制滑动手势效果的各种方法,可以在UIViewController的子类中实现该协议,来激活UIPanGestureRecognizer。在GQFlowController的设计中,仅对顶层UIViewController提供滑动手势的支持。
由于GQFlowController实现了与UINavigationController类似的方法来管理视图控制器,所以移植起来会非常方便。对应关系如下表:
| GQFlowController | UINavigationController |
|---|---|
| Creating Navigation Controllers | |
| initWithRootViewController: | initWithRootViewController: |
| Accessing Items on the Navigation Stack | |
| topViewController | topViewController |
| viewControllers | viewControllers |
| setViewControllers:animated | setViewControllers:animated |
| Pushing and Popping Stack Items | |
| flowInViewController:animated: | pushViewController:animated: |
| flowOutViewControllerAnimated: | popViewControllerAnimated: |
| flowOutToRootViewControllerAnimated: | popToRootViewControllerAnimated: |
| flowOutToViewController:animated: | popToViewController:animated: |
| setViewControllers:animated: | setViewControllers:animated: |
Demo1展示了如果实现类Path的实现。
Demo2展示了类UINavigationController的各个方法。
Demo3展示了iPad的使用例子。
GQFlowController requires Xcode 5 and iOS 7.0 or later SDK.
GQFlowController is available under the New BSD license. See the LICENSE file for more info.
