我正在使用ECSlidingViewController与故事板。ECSlidingVC是我的根(启动)控制器。我的左边菜单是一个带有静态单元格的TableView,而我的TopViewController是一个导航控制器。我想要一个NavigationController为我的所有应用程序。
从我的左边菜单,我不能使用推送或松开塞格,但我明白这部分。我只能使用ECSlidingSegue,它改变了topviewController of ECSlidingVC,破坏了导航控制器和它的堆栈。
我希望能够从菜单项目VC回到以前的VC在我的主导航控制器。让我们简单地说,我希望ECSlidingVC不改变topViewController,而是将目的地viewController推送到我的源代码.topViewController.navigationController。
此外,我需要使用松开我的菜单项。我需要回到我的主导航控制器的VC。
我检查了ECSlidingSegue源代码,它所做的只是替换topViewController。
在ECSlidingViewController中是否有一个内置的方法(或segue)来将(或展开) VC推入源代码.topViewController.navController,还是我需要自己实现一个自定义的segue?
发布于 2014-09-04 17:27:48
我认为最好的方法是你自己实现一个自定义自定义。类似于ECSlidingNavigationSegue,它会查找您的topViewController,然后检查它是否是UINavigationController,然后将destinationController推送到它。
它与ECSlidingSegue基本上是相同的ECSlidingSegue方法,但具有将控制器推送到topViewController而不是替换它的功能。
祝好运!
发布于 2015-05-21 10:35:28
万一有人没找到答案,我就这样做了。
1- #import "UIViewController+ECSlidingViewController.h"到您的menuViewController 2-将destinationViewController的stroboardID设置为"someID“3-当触发某些操作时,在后端使用以下代码:
if(self.slidingViewController.currentTopViewPosition == ECSlidingViewControllerTopViewPositionCentered){
[self.slidingViewController anchorTopViewToRightAnimated:YES];
}
else{
self.slidingViewController.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"someID"];
[self.slidingViewController resetTopViewAnimated:YES];
}https://stackoverflow.com/questions/24302758
复制相似问题