PPRevealSideViewController

PPRevealSideviewController是一个左右移动布局,ios左右菜单的一个东西,功能非常强大,使用起来也很方便。

研究了两天,说不上全会用了,但会一些,把一些关键点记下来,希望能帮助到您。

下载PPRevealSideviewController,下载地址

下载下来后有个叫PPRevealSideViewController的项目,打开就是整个demo,demo写得非常强大,这儿主要解释下各个开关的作用。

先看一下图:

     

Animated:是否有动画

Shadow:中间界面阴影

Resize:左边的tableView菜单是否有一个下拉条

Bounce:是否有一点点弹跳,当你没有初始化left/right/top/down的controller,你向left/right/top/down方向拉的时候,虽然不能跳转界面,但是有个弹跳的一个小效果

Close Full:是否能从左直接拉到右边

Offset:偏移量

Opened:可以看到opened的开关上面有个NavBar和Content,这儿的开关是指,是否可以用手势Opend这个页面,在哪儿的手势呢?一个是NavBar上的手势,另一个当然是content的了。

Closed:同Opened

Tap closed:是否可以点击进行关闭页面,上面的opened和Closed指的是手势,这儿指的是点击。

Keep offset:这个我暂时也不清楚 ^_^

其它带字的比较好理解了,可以自己试一下。

说下大概用法吧:

下载下来后,把PPRevealSideviewController这个文件夹拖到工程中来,在工程启动入口那儿:

[cpp] view plaincopy

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  2. {
  3. self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
  4. MainViewController *main = [[MainViewController alloc] init];//你自己的中间controller
  5. UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:main];
  6. _revealSideViewController = [[PPRevealSideViewController alloc] initWithRootViewController:nav];
  7. _revealSideViewController.delegate = self;
  8. self.window.rootViewController = _revealSideViewController;
  9. PP_RELEASE(main);
  10. PP_RELEASE(nav);
  11. self.window.backgroundColor = [UIColor whiteColor];
  12. [self.window makeKeyAndVisible];
  13. return YES;
  14. }

当然,你先要定义一个 _revealSideViewController 并先实现它。

在跳转到我们的mainViewController后,我们需要先preLoad,预加载你的左、右viewContrller 这样用手势左右划动的时候就能跳到左右菜单了

[cpp] view plaincopy

  1. - (void) preloadView {
  2. LeftViewController *left = [[[LeftViewController alloc] init] autorelease];
  3. [self.revealSideViewController preloadViewController:left
  4. forSide:PPRevealSideDirectionLeft
  5. withOffset:_offset];
  6. RightViewController *right = [[[RightViewController alloc] init] autorelease];
  7. [self.revealSideViewController preloadViewController:right
  8. forSide:PPRevealSideDirectionRight
  9. withOffset:_offset];
  10. }
  11. - (void) viewDidAppear:(BOOL)animated {
  12. [super viewDidAppear:animated];
  13. [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(preloadView) object:nil];
  14. [self performSelector:@selector(preloadView) withObject:nil afterDelay:0.3];
  15. }

其它常用操作:

1 跳转到一个菜单

[cpp] view plaincopy

  1. LeftViewController *left = [[LeftViewController alloc] init];
  2. [self.revealSideViewController pushViewController:left onDirection:PPRevealSideDirectionLeft withOffset:_offset animated:_animated];
  3. PP_RELEASE(left);

2 返回

[cpp] view plaincopy

  1. [self.revealSideViewController pushOldViewControllerOnDirection:PPRevealSideDirectionLeft animated:YES];

3。在左/右边菜单跳转到一个新的页面

[cpp] view plaincopy

  1. SecondViewController *c = [[SecondViewController alloc] init];
  2. UINavigationController *n = [[UINavigationController alloc] initWithRootViewController:c];
  3. [self.revealSideViewController popViewControllerWithNewCenterController:n animated:YES];
  4. PP_RELEASE(c);
  5. PP_RELEASE(n);

4  用第3步中进行跳转后的新页面,还能划动到右边的菜单,有时候我们只想要一个左边菜单,要么上边的,可以用这个方法删除其它方向的:

[cpp] view plaincopy

  1. [self.revealSideViewController unloadViewControllerForSide:PPRevealSideDirectionRight];//删掉右边的viewController

具体的菜单逻辑跟据自己项目中来吧,方法差不多就这些了,在PPRevealSideviewController的demo里写得比较清楚的,可以仔细研究一下。

我自己仿照“时光流”这个应用做了个左边菜单:


时间: 2024-10-18 16:34:31

PPRevealSideViewController的相关文章

第三方抽屉效果

1.  抽屉效果的基本原理应用了父子视图的层级,视图的位置改变,动画,手势操作等主要知识点.熟练掌握基础知识并灵活运用,即可实现该效果. > 父子视图的层级: 在指定层级上插入子视图 [view insertSubView: atIndex:] > 视图位置的改变: 通过视图的frame,center属性调整 > 动画:可使用UIView或CALayer的动画,这里主要使用了UIView的动画方法 [UIView animateWithDuration:……. ] > 手势操作:主

网上搜集第三方

iOS开发-常用第三方开源框架介绍 为了了解一下目前第三方库的普及程度,下面列举一些知名App对第三方库的依赖. 网易新闻 AppleReachability ASIHTTPRequest EGOTableViewPullRefresh GTMNSString+HTML MGTemplateEngine MPOAuth RegexKitLite SDWebImage SSZipArchive wax Garageband MurmurHash libpng zlib SBJson (json-f

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报开源框架 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,

抽屉的第三方库

在公司项目新版本方案选择中,对主导航中要使用的抽屉效果进行了调研.主要原因是旧的项目中所用的库ECS评价不是很好.现对当下比较火的几大热门抽屉效果的第三方库进行了调研.代码全部选自github 一.RESideMenu https://github.com/romaonthego/RESideMenu      4300个星 示例程序跑到30M,可能是因为里面有图片. 支持iOS7+ 测试效果很好 优点: 1.里面的文件较少,不需要使用cocoapods即可运行. 2.里面自定义API也比较多,

常用iOS的第三方框架

图像:1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下Github里面流

要学习的内容 (一)

登录|注册 目录视图 摘要视图 订阅 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下

第三方框架(超级全)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角),ios冰山一角 图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.Sour

iOS开发-常用第三方开源框架介绍

iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下G

史上最全第三方【四】

学习是一个漫长的过程,更是一个痛苦的过程.不断接收新的知识,不断否定原来的自己,但长时间坚持下来,相信你会有一个质的飞跃. 控件 HUD MBProgressHUD 一个HUD 用得很广泛 无阴影 全屏模态 MBProgressHUD 和MBHUD一样 但有更新 添加了BLock iOS6 ATMHud 很棒的HUD 有阴影和动画~ SVProgressHUD 一个HUD 样式类似MB_HUD 有一些进度等 HTProgressHUD 又一个HUD ETActivityIndicatorView