iOS-仿QQ侧边栏
来源:互联网 发布:软件项目实施费用 编辑:程序博客网 时间:2024/05/20 07:15
侧边栏是现在app中很常用的一种UI展示方式,这里我封装了QQ的侧边栏进行了一下较为简单的封装,使用起来很简单,接入方式如下:
// tabBarController
PSTabBarController *tabBarVC = [[PSTabBarController alloc] init];
// 左侧视图
LeftView *leftView = [[LeftView alloc] initWithFrame:CGRectMake(-self.window.width * (1 - kLeftWidthScale), 0, self.window.width, self.window.height)];
// 接入侧边栏
[[PSDrawerManager instance] installCenterViewController:tabBarVC leftView:leftView];
如果你想要像QQ中一样,只有在tabBar选中某一项的时候才能够展示侧边栏,那么你可以像这样调用:
#pragma mark -
#pragma mark - UITabBarController protocol methods
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if ([viewController isKindOfClass:[UINavigationController class]]) {
UINavigationController *navigationController = (UINavigationController *)viewController;
UIViewController *_viewController = navigationController.viewControllers.firstObject;
if ([_viewController isKindOfClass:[MessageViewController class]]) {
// 启动手势响应
[[PSDrawerManager instance] beginDragResponse];
} else {
// 取消手势响应
[[PSDrawerManager instance] cancelDragResponse];
}
}
}
如果你想要点击侧边栏中列表的某一项,自动回到主控制器你可以这样:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// 回到中间控制器
[[PSDrawerManager instance] resetShowType:PSDrawerManagerShowCenter];
// 在这里进行页面跳转
// [navigationController pushViewController:viewController animated:YES];
}
只需要这几行代码就可以接入侧边栏,另外还提供了一些接口,大家可以查看"PSDrawerManager"文件,.h接口如下:
/** 设置中心控制器及左侧视图
* @param centerViewController: 中心控制器
* @param leftView: 左侧视图
*/
- (void)installCenterViewController:(UIViewController *)centerViewController leftView:(UIView *)leftView;
// 隐藏侧边阴影
- (void)hiddenShadow;
// 显示侧边阴影
- (void)showShadow;
// 开启拖拽响应
- (void)beginDragResponse;
// 取消拖拽响应
- (void)cancelDragResponse;
/** 设置显示状态
* @param showType: 枚举类型 PSDrawerManagerShowType
*/
- (void)resetShowType:(PSDrawerManagerShowType)showType;
Demo展示:
Demo地址:https://github.com/slipawayleaon/PSDrawerManager
- iOS-仿QQ侧边栏
- iOS-仿QQ侧边栏
- Android实现仿qq侧边栏效果
- Android实现仿qq侧边栏效果
- 仿QQ侧边栏滑动的实现
- 仿IOS风格侧边栏菜单实现
- HorizontalScrollView+viewpager实现仿天天动听ios版和QQ侧边菜单效果
- Android 仿QQ侧边栏,自定义view的学习 <Garry进阶(三)>
- 【Swift】-- 开源项目侧边栏仿QQ菜单类似 android SlidingMenu
- iOS 开发: 仿QQ
- 类似于qq的侧边栏
- iOS侧边栏实现
- ios侧边栏效果
- IOS-PPRevealViewController侧边栏
- iOS开发侧边栏
- iOS 之 侧边栏
- android 仿人人网滑动侧边栏
- 仿人人网侧边栏滑动效果
- js 模块化代码流程
- servlet的生命周期 servlet和cgi的区别
- 转 screen widget 框架页面生成原理初探
- android 返回键的监听
- jsp页面使用${}不起作用
- iOS-仿QQ侧边栏
- android中ScrollView中TextView无法铺满全屏解决方案
- Ubuntu安装配置ftp
- git:could not open a connection to your authentication agent问题的解决(重新绑定私钥)
- 【HDU 杭电 1087 Super Jumping! Jumping! Jumping!】
- STS中maven项目编译时(mvn install)报错-Dmaven.multiModuleProjectDirectory system property is not set.解决方案
- 2016.08.10回顾
- 3分钟实现极光推送的android demo
- 20160812 笔记之按钮显示