0

我正在使用ECSlidingViewController故事板。ECSlidingVC是我的根(起始)控制器。我的左侧菜单是TableView带有静态单元格的,而我TopViewController的是导航控制器。我想为NavigationController我的所有应用程序提供一个单一的。

从我的左侧菜单中,我不能使用 push 或 unwind segues,但我理解那部分。我只能使用ECSlidingSegue哪些更改topviewController以及ECSlidingVC哪些会破坏我的导航控制器及其堆栈。

我希望能够在我的主导航控制器中从菜单项 VC 返回到上一个 VC。可以说基本上我不想ECSlidingVC改变topViewController而是将目的地推viewController送到我的来源。topViewController. navigationController.

我还需要对我的菜单项使用 unwind segues。我需要回到我的主导航控制器中的 VC。

我检查ECSlidingSegue了源代码,它所做的只是替换topViewController.

ECSlidingViewController是否有用于将 VC 推入(或展开)源代码的内置方法(或 segue) 。topViewController. navController还是我需要自己实现自定义segue?

4

2 回答 2

0

我认为最好的方法是让您自己实现自定义 segue。之类的东西ECSlidingNavigationSegue,它会寻找你的topViewController,然后检查它是否是 aUINavigationController然后将它推destinationController到它。

它与 的perform方法基本相同ECSlidingSegue,但具有将控制器推送到topViewController而不是替换它的功能。

祝你好运!

于 2014-09-04T17:27:48.553 回答
0

如果有人没有找到答案,我就是这样做的。

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];
    }
于 2015-05-21T10:35:28.980 回答