使用PPRevealSideViewController创建抽屉式导航

来源:互联网 发布:淘宝微淘评论怎么匿名 编辑:程序博客网 时间:2024/04/29 14:24

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

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击