iOS 仿QQ的左右抽屉效果
Branch: master
Clone or download
Latest commit 4c90c34 May 28, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
GIF 更新Gif Sep 26, 2017
XLSlideMenuExample 666 Jan 20, 2018
README.md Update README.md May 29, 2018

README.md

XLSlideMenu

实现功能

  • 滑动显示左右菜单(支持快速滑动)
  • 调用方法显示左右菜单
  • 支持UINavigationController、UItabbarController,即UIViewController及其子类作为Window的根控制器
  • 滑动区域为界面两侧,不会和界面中的滚动视图发生冲突,并可自定义相应区域大小
  • 滑动只在NavigationController的个控制器显示时才会触发,其他自控制器不会触发菜单滑动方法

显示效果

示例图中的QQ界面只是截图

使用方法

1、创建方法:

(1)、导入头文件:

#import "XLSlideMenu.h"

(2)、创建菜单并设置成window的rootviewControler

XLSlideMenu *slideMenu = [[XLSlideMenu alloc] initWithRootViewController:rootNav];
//设置左右菜单
slideMenu.leftViewController = leftVC;
slideMenu.rightViewController = rightVC;
self.window.rootViewController = slideMenu;

2、使用方法:

(1)、显示左菜单

[self.xl_sldeMenu showLeftViewControllerAnimated:true];

(2)、显示右菜单

[self.xl_sldeMenu showRightViewControllerAnimated:true];

(3)、显示主界面

[self.xl_sldeMenu showRootViewControllerAnimated:true];

(4)、获取菜单宽度

self.xl_sldeMenu.menuWidth

(5)、获取留白宽度

self.xl_sldeMenu.emptyWidth

(6)、关闭滑动功能

self.xl_sldeMenu.slideEnabled = false;

(7)、跳转新界面

  • 判断RootViewController类型

  • 第一种情况:如果是UINavigationController就直接push

UINavigationController *nav = (UINavigationController *)self.xl_sldeMenu.rootViewController;
[nav pushViewController:newVc animated:false];
  • 第二种情况:如果是Tabbar就找到Tabbar的selectedViewController执行Push动作
UITabBarController *tabBarController = (UITabBarController *)self.xl_sldeMenu.rootViewController;
UINavigationController *nav = (UINavigationController *)tabBarController.selectedViewController;
[nav pushViewController:newVc animated:true];

个人开发过的UI工具集合 XLUIKit