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.