DDMenuController 下一级跳转 浅析

本文介绍如何使用iOS的DDMenuController实现侧滑菜单,并解决了左菜单push控制器后界面不会自动弹回的问题。通过调整代码,实现了正确的菜单跳转。

先贴一个DDmenuController demo的地址:
http://code4app.com/ios/DDMenuController/4f6d8b836803fa5345000001


简单说来,这个库就相当于android的slideing menu,侧滑菜单,通过 ddMenuController 可以设置 左右两个菜单,如demo的 leftController,rightController,
初始化所需的参数是是个 controller,但必须用个navigationController 将其包裹,再传入。初始化问题在这里不再详述。
现在重点说一下我昨天遇到下一级菜单跳转问题。在rightControler里面,可以通过点解直接push另外一个controller出来,但到了LeftControler,push之后,页面依然停留在原处,不会自动弹回,先贴上demo的跳转push代码:

// lets just push another feed view 
UINavigationController *menuController = (UINavigationController*)((AppDelegate*)[[UIApplication sharedApplication] delegate]).menuController;
FeedController *controller = [[FeedController alloc] init];
[menuController pushViewController:controller animated:YES];

不满足实际需求!!


后来看注意到DDMenuControler.h 有个
- showRootContrller(BOOl) ,就打算加下去试一下,但要注意,类型的变换

DDMenuController *menuController = (DDMenuController*)((AppDelegate*)[[UIApplication sharedApplication] delegate]).menuController;
**[menuController showRootController:YES];**
FeedController *controller = [[FeedController alloc] init];
controller.title = [NSString stringWithFormat:@"Cell %i", indexPath.row];


UINavigationController *menuController1 = (UINavigationController*)((AppDelegate*)[[UIApplication sharedApplication] delegate]).menuController;
    [menuController1 pushViewController:controller animated:YES];

上面 用了两次ddmenuController出来,一次作为 DDmenuController,第二次 是作为uiNavigationController 。
两次都是通过 [UIApplication sharedApplication]拿到 的。
很幸运,这次push界面会自动弹回中间了
done!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值