iOS开发之抽屉效果实现

  说道抽屉效果在iOS中比较有名的第三方类库就是PPRevealSideViewController。一说到第三方类库就自然而然的想到我们的CocoaPods,今天的博客中用CocoaPods引入PPRevealSideViewController,然后在我们的工程中以代码结合storyboard来做出抽屉效果。

  一.在工程中用CocoaPods引入第三方插件PPRevealSideViewController.

    (1).在终端中搜索PPRevealSideViewController的版本

  

    (2).在Podfile中添加相应的版本库

    (3).之后保存一下Podfile文件,然后执行pod install即可

  二、为我们的工程添加pch文件

    因为用的是XCode6, 上面默认是没有pch文件的,如果我们想使用pch文件,需要手动添加,添加步骤如下

    1.在XCode6中是么有pch文件的,如下图

    2.创建pch文件

    

    3.配置pch文件

      (1)、找工程的Targets->Build Settings->Apple LLVM 6.0 - Language

 

      (2)在Prefix Header下面的Debug和Release下添加$(SRCROOT)/工程名/pch文件,入下图

    

  三、使用PPRevealSideViewController来实现抽屉效果

    当然了首先在pch文件中引入我们的第三方类库,然后使用即可

    1.在storyboard拖出来我们要用的视图控制器,点击主界面上的按钮会以抽屉的形式展示出导航页,然后在导航页导航到各个界面,之后在从各个页面回到主界面

    2.在AppDelegate中初始化我们的PPRevealSideViewController并设置为启动页面代码如下:

 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 2     // Override point for customization after application launch.
 3
 4     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 5
 6     //获取主视图的导航控制器
 7     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
 8     UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"NavigationController"];
 9
10     //新建PPRevealSideViewController,并设置根视图(主页面的导航视图)
11     PPRevealSideViewController *sideViewController = [[PPRevealSideViewController alloc] initWithRootViewController:vc];
12
13     sideViewController.fakeiOS7StatusBarColor = [UIColor whiteColor];
14
15     //把sideViewController设置成根视图控制器
16     self.window.rootViewController = sideViewController;
17
18     [self.window makeKeyAndVisible];
19
20     return YES;
21 }

    3.在主界面使用PPRevealSideViewController来推出导航页

1 - (IBAction)tapItem:(id)sender {
2
3     UIStoryboard *storybaord = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
4     UITableViewController *table = [storybaord instantiateViewControllerWithIdentifier:@"CustomViewViewController"];
5     [self.revealSideViewController pushViewController:table onDirection:PPRevealSideDirectionLeft animated:YES];
6 }

    4.在导航页点击不同的按钮使用PPRevealSideViewController跳转到不同的controller

 1 - (IBAction)tap1:(id)sender {
 2      UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
 3     UIViewController *one = [storyboard instantiateViewControllerWithIdentifier:@"one"];
 4     [self.revealSideViewController popViewControllerWithNewCenterController:one animated:YES];
 5 }
 6
 7 - (IBAction)tap2:(id)sender {
 8
 9     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
10     UIViewController *one = [storyboard instantiateViewControllerWithIdentifier:@"two"];
11     [self.revealSideViewController popViewControllerWithNewCenterController:one animated:YES];
12
13 }
14
15 - (IBAction)tap3:(id)sender {
16     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
17     UIViewController *one = [storyboard instantiateViewControllerWithIdentifier:@"three"];
18     [self.revealSideViewController popViewControllerWithNewCenterController:one animated:YES];
19 }
20
21 - (IBAction)tap4:(id)sender {
22     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
23     UIViewController *one = [storyboard instantiateViewControllerWithIdentifier:@"four"];
24     [self.revealSideViewController popViewControllerWithNewCenterController:one animated:YES];
25 }

    5.各个页面返回到主界面的代码如下:

1 - (IBAction)tapPage:(id)sender {
2     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
3
4     UIViewController *view = [storyboard instantiateViewControllerWithIdentifier:@"NavigationController"];
5
6     [self.revealSideViewController popViewControllerWithNewCenterController:view animated:YES];
7 }

  四.到此效果实现完毕,下面是效果图:

时间: 2024-10-25 14:53:12

iOS开发之抽屉效果实现的相关文章

iOS开发中抽屉效果的第三方库MMDrawerController的使用

1 // 2 3 // AppDelegate.m 4 5 // MMDrawerController 6 7 // 8 9 // Created by yl on 16/6/24. 10 11 // Copyright © 2016年 Itsimple. All rights reserved. 12 13 // 14 15 16 17 #import "AppDelegate.h" 18 19 #import "YLNavigationController.h"

参加iOS开发培训,效果才王道

无限互联iOS培训学院已经开办快3年了,三年来为iOS开发市场,累计培养了数千名iOS技术人才,已向数百家企业输送iOS开发人才.但,无限互联是如何保证教学质量的呢?为什么敢保证100%有效果呢?当遍地黄沙的时候,要如何从中分辨真金呢?在iOS培训领域,讲师和课程无疑是效果的关键,iOS培训课程的构建决定了一个培训班的优劣.但,要选择好的iOS培训学院,除了从师资.教学方式及课程内容以外,还需要完善的iOS培训学习系统. iOS开发是"活"知识,不可"死板"的学 i

iOS侧拉栏抽屉效果Demo

源码下载 侧拉栏抽屉效果Demo 需要导入第三方的类库如下: 抽屉效果所需第三方类库下载 效果:既可以两侧都实现抽屉效果也可只实现左侧栏或者右侧栏的抽屉效果                            关于抽屉效果主要是AppDelegate的代码 AppDelegate.h文件代码: <span style="font-size:18px;"><span style="font-size:18px;">#import <UI

iOS 开发之粒子效果

本文由糖炒小虾.Benna翻译 ,校对:sai.u0u0.iven.子龙山人 iOS 5中的UIKit粒子系统教程 Ray的话:这是第15篇.也是最后一篇<iOS 5 盛宴>中的iOS 5教程!这篇教程来自我们的新书<iOS 5 教程>中的一篇免费预览章节.这个礼拜三我们将迎来<iOS 5 盛宴>系列的最后一次发布——来自史诗般的<iOS 5 盛宴>奉送,最后一次#ios5feast的广播!:] 这是篇教程由iOS教程小组成员Marin Todorov所撰写

我的iOS开发系列博文

之前目录性的总结了发表过的关于OC方面的文章,今天在目录性的总结一下有关iOS开发的文章.走过路过不要错过哦,今天的博文也全都是干货.写技术博客与大家交流一下思想也是不错的. 下面是我的技术博客中有关iOS开发的内容,有初级部分也有高级部分,有旧的东西,也有新的东西.咸蛋就先扯到这儿,正文走起: 我的iOS系列博文如下:   01.iOS开发之简单音频播放器 02.iOS开发之视图和视图控制器 03.iOS开发之绝对布局和相对布局(屏幕适配) 04.iOS开发之自动布局显示网络请求内容 05.i

ios开发中超简单抽屉效果(MMDrawerController)的实现

ios开发中,展示类应用通常要用到抽屉效果,由于项目需要,本人找到一个demo,缩减掉一些不常用的功能,整理出一个较短的实例. 首先需要给工程添加第三方类库 MMDrawerController: 这里讲的实例只加入了左滑抽屉.右滑和左滑只是初始化时多添加一个右视图控制器,其他方法基本相同. 下面是用手势实现抽屉的拉出和收回 1.初始化跟视图控制器时,在AppDelegate中导入头文件 #import "MMDrawerController.h" 2.初始化方法先初始化左视图和中心视

iOS开发中常用的轮子 第四篇 抽屉和侧滑效果

为避免重复造轮子,很多效果和功能都可以从github上找到.清点以前的项目,整理出了很多用过的开源代码,每天奉送一批. 学习例子的方法: 1,了解:运行一遍例子,弄清这些代码的究竟是什么: 2,使用:在之后开发工程中使用这些例子: 3,研究代码:研究例子的代码的实现,简单修改做出自己的效果. 记得要么是facebook,或是twitter第一个使用了个交互效果:而后风靡全球,是产品必用抽屉:再后来就是延生出了各种变形过的效果: 所以,产品经理要你实现抽屉和侧滑效果时,一定要确定到底是什么样抽屉和

iOS开发——实用技术OC篇&amp;简单抽屉效果的实现

简单抽屉效果的实现 就目前大部分App来说基本上都有关于抽屉效果的实现,比如QQ/微信等.所以,今天我们就来简单的实现一下.当然如果你想你的效果更好或者是封装成一个到哪里都能用的工具类,那就还需要下一些功夫了,我们这里知识简单的介绍怎么去实现,不过一般我们开发都是找别人做好的,也没必要烂肺时间,除非你真的是大牛或者闲的蛋疼. 其实关于抽屉效果就是界面有三个View,其实一个主View其他两个分别是左边和右边的View,我们分别为他们添加手势,实现左右滑动显示对应的View. 一:所以,首先我们需

ios开发抽屉效果的封装使用

#import "DragerViewController.h" #define screenW [UIScreen mainScreen].bounds.size.width @interface DragerViewController () /** <#注释#> */ @property (nonatomic, weak) UIView *leftV; @property (nonatomic, weak) UIView *rightV; @property (non