左划出现相应菜单,这个功能十分常见了。
作者给的Demo是直接使用storyboard写的。
GitHub链接地址:https://github.com/ECSlidingViewController/ECSlidingViewController
功能实现由三个控制器配合实现的
- topViewController:这个是用户的主要显示的控制器
- underLeftViewController或者是underRightViewController:这个控制器是停留在左侧(右侧)的菜单选项控制器
- SlidingViewController:用来控制top、under两层控制器
主要会用到两个类:
ECSlidingViewController 这个是侧滑的主体控制器
UIViewController+ECSlidingViewController 这个类是一个分类,主要是增加了一个主体控制器
// top
DZHomeViewController *homeVC = [[DZHomeViewController alloc] init];
UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:homeVC];
// 管理者
ECSlidingViewController *slideVC = [[ECSlidingViewController alloc] initWithTopViewController:navi];
// under
slideVC.underLeftViewController = [[DZLeftViewController alloc] init];
// 右侧留下的宽度 不设置的话有默认值
slideVC.anchorRightRevealAmount = 40;
self.window.rootViewController = slideVC;
// 顶部的动画
[slideVC resetTopViewAnimated:YES];
可以添加手势 进行侧滑
[self.navigationController.view addGestureRecognizer:self.slidingViewController.panGesture];