• 使用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
  • 相关阅读:
    OpenGL(九) 三维混色和深度缓存设置
    自由度(degree of freedom)
    自由度(degree of freedom)
    非参贝叶斯(Bayesian Non-parameter)初步
    非参贝叶斯(Bayesian Non-parameter)初步
    一个GCC4.6.3的奇妙问题的糊涂解决方案
    Rational Rose--简介
    android 国际化
    日志文件C++ 时间 文件 行数
    看原理图之UART
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3084472.html
Copyright © 2020-2023  润新知