使用 ECSlidingViewController 在两个 NavigationController 之间转换

Posted

技术标签:

【中文标题】使用 ECSlidingViewController 在两个 NavigationController 之间转换【英文标题】:Transition between two NavigationControllers with ECSlidingViewController 【发布时间】:2013-12-10 02:25:13 【问题描述】:

我正在尝试完成这样的事情:

我的设置是这样的:

我有一个以 SlidingViewController 作为 RootViewController 的 Storyboard Setup。左侧面板充当导航菜单。从这个菜单中,我有到不同 NavigationControllers

的 Segues

我想做什么:

我想在不“丢失”侧面板的情况下在不同的 NavigationController 之间进行转换。例如:用户想要将产品添加到购物车,但未登录 - 它应该将他们带到“帐户创建”-导航控制器。

我现在是怎么做的:

[self.slidingViewController setTopViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"accountSetup"]];

这行得通,有点。它改变了顶部导航控制器——但它是瞬间完成的。有没有办法让这个动画(就像它可用于 Segues 一样?)

谢谢!

【问题讨论】:

【参考方案1】:

我会在 SlidingVC 方法中添加自定义动画代码。您可能需要在运行动画代码之前添加一个布尔值并检查它。

  
CGRect topViewFrame = _topViewController ? _topViewController.view.frame : self.view.bounds; 
if (myBOOL)  
    //my custom anim code
  
[self removeTopViewSnapshot]; 
[_topViewController.view removeFromSuperview]; 
[_topViewController willMoveToParentViewController:nil]; 
[_topViewController removeFromParentViewController]; 

_topViewController = theTopViewController; 

别忘了重置你的布尔值。

【讨论】:

以上是关于使用 ECSlidingViewController 在两个 NavigationController 之间转换的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)