Slide-out Sidebar Menu
IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)
2013-09-03 22:13 by lixingle, 270 阅读, 0 评论, 收藏, 编辑
最近滑动菜单比较流行,像facebook和人人等都在使用滑动菜单,今天做了一个小demo大体效果如下:
这次用了一个开源的项目ECSlidingViewController这个也是一个挺著名的托管在Github上的开源项目:
Github上Project的URL是:https://github.com/edgecase/ECSlidingViewController
大体步骤如下:
创建一个SingleView applicaton:


下面把下载的源码包含进来:
解压缩后打开 找到 ECSlidingViewController/Vendor/ECSlidingViewController 下的两个文件,我们把整个Vendor文件夹都导入:


添加一个类库:



打开StoryBoard另外再创建两个UIViewController
创建后大概界面如下:
1.新建两个文件分别为:ToDoViewController和MenuViewController都继承于UIviewController:
2.把新建时自带的ViewController两个文件删除,新建一个文件为:InitialSlidingViewController,打开stroryBoard并把它设为RootViewController。
3.在stroryBoard中把刚才新建的两个ToDoViewController和MenuViewController进行设置:
先设置ToDoViewController:把controller类设为:ToDoViewController标示符设为:ToDoView
MenuViewController的设置如上:把controller类设为:MenuViewController标示符设为:MenuView
下面修改代码:
- InitialSlidingViewController.m
- #import "InitialSlidingViewController.h"
- #import "ToDoViewController.h"
- @interface InitialSlidingViewController ()
- @end
- @implementation InitialSlidingViewController
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ToDoView"];
- }
- @end
ToDoViewController.m:中修改如下:
- - (void)viewWillAppear:(BOOL)animated
- {
- [super viewWillAppear:animated];
- // Add a shadow to the top view so it looks like it is on top of the others
- self.view.layer.shadowOpacity = 0.75f;
- self.view.layer.shadowRadius = 10.0f;
- self.view.layer.shadowColor = [[UIColor blackColor] CGColor];
- // Tell it which view should be created under left
- if (![self.slidingViewController.underLeftViewController isKindOfClass:[MenuViewController class]]) {
- self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MenuView"];
- }
- // Add the pan gesture to allow sliding
- [self.view addGestureRecognizer:self.slidingViewController.panGesture];
- }
MenuViewController修改如下:
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- [self.slidingViewController setAnchorRightRevealAmount:240.0f];
- self.slidingViewController.underLeftWidthLayout = ECFullWidth;
- }
为了美观你可以设置一下ToDoViewController和MenuViewController的背景色:
运行一下效果大体如下:

接下来你可以自己添加个性的View和segue了
转载请注明:
原文转载自:http://blog.csdn.net/wildcatlele
新浪微博:http://weibo.com/u/3202802157
原文参考:http://kingscocoa.com/tutorials/slide-out-navigation/
Slide-out Sidebar Menu的更多相关文章
- iphone Dev 开发实例10:How To Add a Slide-out Sidebar Menu in Your Apps
Creating the Xcode Project With a basic idea about what we’ll build, let’s move on. You can create t ...
- IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)
最近滑动菜单比较流行,像facebook和人人等都在使用滑动菜单,今天做了一个小demo大体效果如下: 这次用了一个开源的项目ECSlidingViewController这个也是一个挺著名的托管在G ...
- 40 个超棒的免费 Bootstrap HTML5 网站模板
Bootstrap 是快速开发Web应用程序的前端工具包.它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格,网格系统等等. 目前 ...
- Bootstrap Metronic 学习记录(二)菜单栏
1.简介 1) .环境配置 2) .提取页面 2).动态生成菜单(无限级别树) 2.系统环境配置 项目需要程序数据支撑,这里选择MVC5.0+EF6.0[SQLSERVER](不对MVC架构和SQ ...
- 240个jquery插件(转)
http://www.kollermedia.at/archive/2007/11/21/the-ultimate-jquery-plugin-list/File upload Ajax File U ...
- 很不错的jQuery学习资料和实例
这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...
- 强烈推荐240多个jQuery插件提供下载
jQuery 是继 prototype 之后又一个优秀的 Javascript 框架.其宗旨是—写更少的代码,做更多的事情.它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及 的 ...
- 240多个jQuery插件
概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架.其宗旨是—写更少的代码,做更多的事情.它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不 ...
- 海量jQuery插件
转自:http://blog.csdn.net/zzq58157383/article/details/6900142 提醒大家在使用的时候注意jQuery包的版本问题,最好是使用相同的版本,因为使用 ...
随机推荐
- Java 实现装饰(Decorator)模式
在Java在.io反映非常多类包下是典型的装饰格局,例如: new BufferedOutputStream(OutputStream out) new BufferedInputStream(Inp ...
- javascript权威指南(2)
JavaScript预定义了一系列全局变量和函数,在自定义变量和函数式要避免使用这些预定义的名称: arguments encodeURI Infinity Number RegExp Arra ...
- 堆VS栈
c#堆VS栈(Part One) 前言 本文主要是讲解C#语言在内存中堆.栈的使用情况,使读者能更好的理解值类型.引用类型以及线程栈.托管堆. 首先感谢原文作者:Matthew Cochran 为我们 ...
- 回想一下著名的BigTable论题
GFS捕捉一些业务场景的分布式文件系统的需求.很自然.此外还有一些与他们一些业务或依赖于文件系统是不那么容易,他们需要一个分布式数据库系统. BigTable那是,Google结构化数据处理的需求而产 ...
- uploadfiy 动态传递Form 参数
参见 百度 http://jingyan.baidu.com/article/a3a3f8118b1c4d8da3eb8a60.html @{ ViewBag.Title = "Ind ...
- BS导出csv文件的通用方法(.net)
最近把以前项目里用的导出文件的功能提取成了dll,通过读取Attribute来得到要导出的表头(没有支持多语言),使用时只要组织好要导出的数据,调用方法就好了,希望对大家有用. 使用时只需引用下载包里 ...
- c# md5
还可以加盐,更难以破解 public static string GetMD5(string sDataIn) { MD5Crypt ...
- 项目管理实践 -- 健身小管家(Fitness housekeeper)的管理
最近在网上看到一篇文章<王石:我每天都强迫自己做的一件事>,[http://blog.sina.com.cn/s/blog_4dfc1c330102v0d0.html] 原始链接不详. ...
- Android在真机调试的设置方法
1. 设置android手机为USB调试模式.步骤: menu---> 设置 ---> 应用程序 ---> 开发 , 选择[USB调试] 2. 用USB连接手机和电脑,并确保成功.步 ...
- javascript7
语句:条件,循环,跳转, 表达式语句,复合语句和空语句,声明语句,var,function,条件语句,switch,循环,标签语句,break语句,continue语句,return语句,throw语 ...