我正在努力完成这样的事情:
我的设置是这样的:
我有一个Storyboard安装程序,SlidingViewController作为RootViewController。左侧面板充当导航菜单。从这个菜单中,我有Segues到不同的NavigationControllers
![]()
我想做什么:
我想在不同的NavigationPanel之间进行转换而不会“松开”SidePanel。例如:用户想要将产品添加到购物车,但未登录 - 应将其带到“帐户创建” - 导航控制器。
我现在是怎么做的:
[self.slidingViewController setTopViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"accountSetup"]];
这很有效。它改变了顶级导航控制器 - 但它会瞬间完成。有没有一种方法可以为它设置动画(就像它可用于Segues?)
谢谢!
答案 0 :(得分:1)
我会将自定义动画代码添加到SlidingVC方法中。你可能想要在运行动画代码之前添加一个bool并检查它。
{
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;
别忘了重置你的布尔。