IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)
最近滑动菜单比较流行,像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/
IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)的更多相关文章
- IOS学习之路十四(用TableView做的新闻客户端展示页面)
最近做的也个项目,要做一个IOS的新闻展示view(有图有文字,不用UIwebview,因为数据是用webservice解析的到的json数据),自己一直没有头绪,可后来听一个学长说可以用listvi ...
- IOS学习之路六(UITableView滑动删除指定行)
滑动删除指定行代码如下: Controller.h文件 #import <UIKit/UIKit.h> @interface TableViewController : UIViewCon ...
- IOS学习之路十二(UITableView下拉刷新页面)
今天做了一个下拉刷新的demo,主要用到了实现的开源框架是:https://github.com/enormego/EGOTableViewPullRefresh 运行结果如下: 实现很简单下载源代码 ...
- IOS学习之路十五(UIView 添加背景图片以及加边框)
怎样给UIview添加背景图片呢很简单,就是先给view添加一个subview,然后设为背景图片: 效果图如下: 很简单直接上代码: //设置内容 self.myTopView.backgroundC ...
- IOS学习之路十九(JSON与Arrays 或者 Dictionaries相互转换)
今天写了个json与Arrays 或者 Dictionaries相互转换的例子很简单: 通过 NSJSONSerialization 这个类的 dataWithJSONObject: options: ...
- IOS学习之路十八(通过 NSURLConnection 发送 HTTP 各种请求)
你想通过 Http 协议向服务器发送一个 Get 的包装请求,并在这个请求中添加了一些请 求参数. 向远程服务器发送一个 GET 请求,然后解析返回的数据.通常一个 GET 请求是添加了 一些参数的, ...
- IOS学习之路十六(UItableView 通过Prepare for segue 页面传值)
当你点击一个UITableView 的section 或者cell的时候希望把值传到另一个页面(页面是通过segue跳转的),可以通过prepareforsegure 方法传值 (我的UITableV ...
- IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路
在不知不觉当中已经写了21篇内容 其实一开始是没有想些什么东西的 只是买了Air后 感觉用着挺舒服的,每天可以躺在床上,就一台笔记本,不用网线,不用电源,不用鼠标,不用键盘,干干脆脆的就一台笔记本. ...
- 浅谈iOS学习之路(转)
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
随机推荐
- 《java系统性能调优》--1.发现瓶颈
性能啊!性能! 之所以想写写性能调优,也是有感于我们的项目,我们採用一些手段使得系统性能上升了一个台阶,总是须要把这点经验沉淀一下.随着工作的深入,关于系统性能的事肯定还有非常多,也算是通过这个系列文 ...
- CSS3+HTML5特效3 - 纵向无缝滚动
老惯例,先看例子. This is a test 1. This is a test 2. This is a test 3. This is a test 4. This is a test 5. ...
- 深入理解C指针之二:C内存管理
原文:深入理解C指针之二:C内存管理 内存管理对所有程序来说都很重要.有时候内存由运行时系统隐式的管理,比如为变量自动分配内存.在这种情况下,变量分配在它所处的函数的栈帧上(每个函数都有它自己的栈帧, ...
- 分析Cocos2d-x横版ACT手游源 2、server场景
仍然一样 直接在代码 资源 下一个 上传 你可以看到自己 NFServerChangeLayer.h </pre><pre name="code" class=& ...
- 多线程学习之二坚不可摧模式Immutable pattern
Immutable pattern[坚不可摧模式] 一:immutable pattern的参与者--->immutable(不变的)参与者 1.1:immutable参与者是一个 ...
- .Net在线付款---Paydollar在线付款开发过程
原文:.Net在线付款---Paydollar在线付款开发过程 最近在做一个Web订单项目,项目有一个需求就是集成Paypal与Paydollar在线付款,一开始看到这个需求也是傻了眼,因为以前从来没 ...
- C语言第12轮:指针
C语言第12轮:指针 [学习目标] 1. 指针 2. 指针与数组 A: 指针的概念 内存存储单元按字节排序.每一个字节编有序号.我们称之为地址.因为能够通过地址就能够找到所 ...
- MVC5 + EF6 + Bootstrap3-10
MVC5 + EF6 + Bootstrap3 (10) 数据查询页面 上一节:MVC5 + EF6 + Bootstrap3 (9) HtmlHelper用法大全(下) 源码下载:点我下载 目录 前 ...
- 11g R2RAC Dynamic remastering
In this post, I will demonstrate dynamic remastering of the resources in RAC . In RAC, every data bl ...
- jQuery UI框架
jQuery UI框架 1.oschina开源社区-jQuery教程 2.jQuery PrimeUI(推荐) 3.弹出框.警告框.提示框.拖动支持.位置固定.选项卡切换 4.Bootstrap框架( ...