SNDrawerViewController 0.1.3

SNDrawerViewController 0.1.3

测试测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2019年4月

snlo维护。



  • 作者:
  • snlo

SNDrawerViewController

SNDrawerViewController 支持左抽屉、右抽屉和左右双抽屉。可以自定义抽屉大小以及主界面的尺寸,因为它只是一个抽屉控制器框架没有任何的子视图,所以它的外观完全需要定制。

安装

SNDrawerViewController 可通过 CocoaPods 获得。在您的 Podfile 中:

pod 'SNDrawerViewController'

或者将 'Drawers' 文件直接拖入您的工程中。

要求

  • iOS 7.0以上版本
  • Xcode 8.0+

介绍

SNDrawerViewController 由一个根控制器组成,分别持有左抽屉控制器、主页控制器、右抽屉控制器。通过屏幕边缘的手势来控制两个抽屉的出现,同时支持拖拽手势。主页和抽屉控制器均需外部实现,增强了扩展性,并提供了一套基本的设置 API。

使用

首先导入 'SNDrawerViewController.h'。创建主页和抽屉的控制器,并加载。

SNDrawerViewController *SNDrawerVC = [[SNDrawerViewController alloc] initWithMainViewController:[[MainViewController alloc] init]
                                                                                 leftViewController:[[LeftViewController alloc] init]
                                                                                rightViewController:[[RightViewController alloc] init]];
    /* configure your drawer */
    
	[self addChildViewController:SNDrawerVC];
	[self.view addSubview:SNDrawerVC.view];

如果只有左抽屉,请使用以下API

/**
 左抽屉初始化
 
 @param mainViewController 主视图控制器
 @param leftViewController 左抽屉控制器
 @return SNDrawerViewController
 */
- (instancetype)initWithMainViewController:(UIViewController *)mainViewController leftViewController:(UIViewController *)leftViewController;

然后,分别在您创建的主页和抽屉控制器中编写您的界面逻辑。

以下API用于解决外部手势冲突所抛出的问题

/**
 屏幕边缘手势,用于打开左右抽屉。
 */
@property (nonatomic, strong, readonly) UIScreenEdgePanGestureRecognizer *gestureOfOpeningLeftDrawer;
@property (nonatomic, strong, readonly) UIScreenEdgePanGestureRecognizer *gestureOfOpeningRightDrawer;

/**
 左右抽屉拖拽手势,用于打开左右抽屉,加载在viewcontroller上的。
 */
@property (nonatomic, strong, readonly) UIPanGestureRecognizer *panGestureOfOpeningLeftDrawer;
@property (nonatomic, strong, readonly) UIPanGestureRecognizer *panGestureOfOpeningRightDrawer;

许可证

SNDrawerViewController是在MIT许可证下发布的。有关详细信息,请参阅LICENSE