我在我的应用程序中使用MVYSideMenu,我可以使用 MVYSideMenu 的“changeContentViewController”呈现新控制器,但它呈现新控制器,所以从这里我想回到我的根目录(HomeViewController),所以我对此做了很多研究,但不能t 找到解决方案。
因此,如果有人知道解决方案,请帮助我。提前致谢。
我在我的应用程序中使用MVYSideMenu,我可以使用 MVYSideMenu 的“changeContentViewController”呈现新控制器,但它呈现新控制器,所以从这里我想回到我的根目录(HomeViewController),所以我对此做了很多研究,但不能t 找到解决方案。
因此,如果有人知道解决方案,请帮助我。提前致谢。
rootViewController
当您尝试从中打开任何视图时,MVYSideMenu正在制作。如果您正在制作rootViewController
,那么您将无法从中pop
获得。
因此,如果您想返回,则必须返回Push
该视图,而不是制作 rootViewController。
我认为,现在您正在使用以下代码打开侧菜单的任何控制器:
ChildViewController *contentVC = [[ChildViewController alloc] initWithNibName:@"ChildViewController" bundle:nil];
appDelegate.nav = [[UINavigationController alloc] initWithRootViewController:contentVC];
appDelegate.nav.navigationBarHidden=TRUE;
[[self sideMenuController] changeContentViewController:appDelegate.nav closeMenu:YES];
所以请使用下面的代码而不是上面的代码。这里 nav 是UINavigationController
in的对象AppDelegate
。
ChildViewController *contentVC = [[ChildViewController alloc] initWithNibName:@"ChildViewController" bundle:nil];
[appDelegate.nav pushViewController:contentVC animated:YES];
[[self sideMenuController] changeContentViewController:appDelegate.nav closeMenu:YES];
因此,您可以从侧面菜单推送任何视图。现在试着弹出这个视图。我相信你可以在使用后弹出这个视图。
请确保,如果您这样做,则可能存在内存泄漏。因为所有时候 viewControllers 都在添加到导航控制器。所以我的建议是,如果你能说服你的客户,就不要这样做。:) 否则,您必须制作自己的侧面菜单。
编辑 :-
是的,我们可以启用/禁用某些视图控制器的侧边菜单。请将以下方法添加到MVYSideMenuController.m文件中。viewWillAppear
并从您的视图控制器中调用此方法。
- (void)addGestures {
if (!_panGesture) {
_panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)];
[_panGesture setDelegate:self];
// [self.view addGestureRecognizer:_panGesture];
}
if (!_tapGesture) {
_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleMenu)];
[_tapGesture setDelegate:self];
[self.view addGestureRecognizer:_tapGesture];
}
}
- (void)removeGestures{
[self.view removeGestureRecognizer:_panGesture];
_panGesture = nil;
}
您可以轻松调用此方法LocalNotifications
。可能addGestures
已经在那里了。removeGestures
您可以在控制器中需要时通过调用方法来删除手势。但不要忘记addGestures
删除手势后何时需要侧边菜单。
希望,这就是你要找的。任何问题都可以回复我。:)