DDMenuController 下一级跳转 浅析

西门胜涝
2023-12-01

先贴一个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!

 类似资料: