CWStackController 0.0.3

CWStackController 0.0.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布时间最后发布2014年12月

guojiubo 维护。



  • 撰写者
  • guojiubo

CWStackController 是一个类似 UINavigationController 的自定义容器视图控制器,它为 POP 和 PUSH 提供了全屏滑动手势支持,灵感来自 NetEase News,并被用于我最近的应用程序 cnBeta Reader

demo gif

使用

CWStackController 的 API 几乎与 UINavigationController 的相同,因此它非常易于使用

// Init
- (instancetype)initWithRootViewController:(UIViewController *)rootViewController;

// Push
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;

// Pop
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;

// Accessing
@property (nonatomic) NSArray *viewControllers;
- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated;
@property (nonatomic, readonly) UIViewController *topViewController;

可以通过滑动手势来推送新的控制器:

假设您有一个视图控制器 A 位于 CWStackController 堆栈中,您想通过滑动手势将新的视图控制器 B 推送至堆栈,您只需要让 A 承诺 CWStackProtocol 并实现 - (UIViewController *)nextViewController

// A.m
- (UIViewController *)nextViewController
{
    return B;
}

您可以为触发推送或弹出滑动手势的阈值、动画的持续时间和阴影进行自定义。

与滚动视图一起工作

CWStackController 现在可以很好地与滚动视图一起工作,如果您想在子视图控制器中有滚动视图并且想要通过拖动来执行推送或弹出,您需要使用它的 API 将滚动视图设置为 CWStackController 实例。

- (void)setContentScrollView:(UIScrollView *)scrollView;

参见 演示 项目以了解更多细节。

安装

有两个选项

  1. CWStackController 在 CocoaPods 中提供为 CWStackController
  2. 从演示项目中拖动 CWStackController 文件夹到您的 Xcode 项目中。

要求

  • iOS 5.0 或更高版本
  • ARC

许可证

CWStackController 可在 MIT 许可证下获得。有关更多信息,请参阅 LICENSE 文件。