我想将当前视图控制器切换到另一个,而不使用UINavigationController或UITabbarController。这样做的最佳方式是什么?
这就是我在App Delegate代码中所做的事情:
self.window.rootViewController = newViewController; //The one I am switching to
[self.window makeKeyAndVisible];
还有更“优雅”的方式吗?
==编辑==
我想我需要的是一个SwitchViewController,它清除以前的视图控制器并用新的替换它,更好地切换幻灯片输入等动画。
我认为这是一个有效的问题。无论是谁投票,至少应该添加一些评论来解释。
答案 0 :(得分:1)
我不认为还有更多选项,如果你不想把它作为模态视图控制器,或者使用导航堆栈,或者在另一边使用容器视图控制器或标签栏,那么我能想到它正在改变window.rootViewController,就像你说的那样。
您是否考虑过在没有动画的情况下呈现视图控制器?或者使用隐藏的标签栏?您可以以编程方式选择选项卡。
您确定不使用它们吗?我的意思是,任何设计都可以使用这些方法,如果你是一个没有经验的开发人员,我建议你重新考虑你的方法。
答案 1 :(得分:0)
你可以在不使用导航控制器的情况下使用segue - 恕我直言这比仅重新分配rootViewController更容易理解。我使用Modal演示文稿创建了segues - 我不确定Push是否可以在没有导航控制器的情况下工作。我在一些早期的实验中做到了这一点,因为我对ios开发也相当新,并且后来改用导航控制器 - 它给你更多的灵活性,更干净,没有太多的额外开销...作为安东尼奥建议,您可能需要重新考虑使用导航控制器。
答案 2 :(得分:0)
我对自己的问题找到了一个非常好的答案,问题比这个问题更好。希望能帮助到你! https://stackoverflow.com/a/8248284/954376。