zoukankan      html  css  js  c++  java
  • 使用PPRevealSideViewController创建抽屉式导航

    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
  • 相关阅读:
    win7如何配置access数据源
    pcA降维算法
    今天的分类
    实现MFC菜单画笔画圆,并且打钩
    多个字符串输出,竖直输出
    端口重用
    安卓快速关机APP
    端口转发
    学习OpenCV
    求解数独
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3084472.html
Copyright © 2011-2022 走看看