博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用PPRevealSideViewController创建抽屉式导航
阅读量:6236 次
发布时间:2019-06-22

本文共 2823 字,大约阅读时间需要 9 分钟。

PPRevealSideViewController 这是一个开源类;

使用:

   1:创建一个PPRevealSideViewControllerUINavigationController对象;

    2: 设置 self.window.rootViewController = slideViewController;

      注:要先在-Prefix.pch 预编译文件里面 加上 #import "PPRevealSideViewController.h"

    3: 在主页面导航上加一个 UIBarButtonItem 并设置回调方法 enterLeftNavication

    4: 在回调方法里面,设置拉开左页面导航;

  5: 在左导航页面里面,调用  [self.revealSideViewController popViewControllerAnimated:YES];回到主页面;

如代码:

appdelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];    // Override point for customization after application launch.    self.window.backgroundColor = [UIColor whiteColor];            //1:创建一个PPRevealSideViewController,UINavigationController对象;    //2: 设置 self.window.rootViewController = slideViewController;    //注:要先在-Prefix.pch 预编译文件里面 加上 #import "PPRevealSideViewController.h"    MainTableVC *mainVC = [[MainTableVC alloc]initWithStyle:UITableViewStylePlain];    UINavigationController *navVC = [[UINavigationController alloc]initWithRootViewController:mainVC];    PPRevealSideViewController *slideViewController = [[PPRevealSideViewController alloc]initWithRootViewController:navVC];    self.window.rootViewController = slideViewController;        [mainVC release];    [navVC release];    [slideViewController release];            [self.window makeKeyAndVisible];    return YES;}
View Code

MainTableVC.m主页面

- (void)viewDidLoad{    [super viewDidLoad];        //3: 在主页面导航上加一个 UIBarButtonItem 并设置回调方法 enterLeftNavication;    //4: 在回调方法里面,设置拉开左页面导航;        self.navigationItem.title = @"主页面";    UIBarButtonItem *leftBarBtn= [[UIBarButtonItem alloc]initWithTitle:@"左导航" style:UIBarButtonItemStyleBordered target:self action:@selector(enterLeftNavication)];    self.navigationItem.leftBarButtonItem = leftBarBtn;            [leftBarBtn release];    }//左界面回调方法;- (void)enterLeftNavication{    LeftTableVC *leftTableView = [[LeftTableVC alloc]initWithStyle:UITableViewStylePlain];    UINavigationController *leftNavVC = [[UINavigationController alloc]initWithRootViewController:leftTableView];    [self.revealSideViewController pushViewController:leftNavVC onDirection:PPRevealSideDirectionLeft animated:YES];        [leftNavVC release];    [leftTableView release];}
View Code

LeftTableVC.m抽屉页面

- (void)viewDidLoad{    [super viewDidLoad];        self.navigationItem.title = @"左页面";}//5: 在左导航页面里面,调用  [self.revealSideViewController popViewControllerAnimated:YES];回到主页面;- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{    [self.revealSideViewController popViewControllerAnimated:YES];    NSLog(@" 左导航页面---》%d",indexPath.row);        }
View Code

 

转载于:https://www.cnblogs.com/cocoajin/archive/2013/05/17/3084472.html

你可能感兴趣的文章
varchar和Nvarchar区别
查看>>
《MySQL入门很简单》练习9.5
查看>>
一个简单的购物车程序
查看>>
牛客小白月赛1 C-分元宵(快速幂)
查看>>
移动端样式小技巧
查看>>
嵌入式第九次
查看>>
201521123026 《JAVA程序设计》第12周学习总结
查看>>
heroku部署java web项目
查看>>
【转】Lesktop 1.0 ——开源JS控件库,WebIM和网盘
查看>>
java学习中,面向对象的三大特性:封装、继承、多态 以及 super关键字和方法的重写(java 学习中的小记录)...
查看>>
算法笔记--二分图判定
查看>>
第二阶段冲刺 NO.3
查看>>
六个前端开发工程师必备的Web设计模式/模块资源(转)
查看>>
(转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)
查看>>
zoj3501
查看>>
7.Python 之禅(2-11)
查看>>
mysql主从复制
查看>>
JAVA中toString方法的作用
查看>>
string.h 中常用函数
查看>>
WebService 检测到有潜在危险的 Request.Form 值
查看>>