使用 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有三种方式(不使用,动态使用,静态使用,默认是动态使用)