在没有导航控制器的情节提要中切换 UIViewControllers

Posted

技术标签:

【中文标题】在没有导航控制器的情节提要中切换 UIViewControllers【英文标题】:Switch between UIViewControllers in storyboard without Navigation Controller 【发布时间】:2013-09-03 15:38:05 【问题描述】:

我有一个 UIView(带有标识符SplashScreen),它基本上充当介绍视图并显示一个小动画。动画完成后,我希望视图显示一个标签栏视图,之后将成为主视图。没有任何类型的数据从第一个 UIView 传递到第二个 UIView(带有标识符 HomeScreen)。我见过大多数例子,其中

secondViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"HomeScreen"];
[self.navigationController pushViewController:svc animated:YES];

但这会推动视图控制器,并出现一个带有后退按钮的导航栏,这是我不想要的。此外,我永远不会返回启动画面。如果你们中的任何一个能提供任何帮助,那就太好了。

我是个大人物,而不是专业的 ios 程序员,所以一个简单的代码示例会有很大帮助。

【问题讨论】:

【参考方案1】:

与其压入导航堆栈,为什么不替换堆栈?

例如。

[self.navigationController setViewControllers:@[svc] animated:NO]

【讨论】:

谢谢迈克!但我不能投票赞成你的答案,因为我还没有足够的声誉。【参考方案2】:

你可以做一个push segue并且没有导航栏...选择你的导航控制器并在右侧的第4个选项卡上取消选中“显示导航栏”

【讨论】:

@iSrini 这有帮助吗? 嗨,阿卜杜拉,感谢您的建议,是的,当存在导航控制器时,您的建议也可以使用。但在我的应用程序中,我不会在任何地方使用显式导航控制器。任何方式都可能是我对导航控制的理解,并且 appdelegate defenitions 仍然非常基本。如果有人可以建议对该主题进行良好的阅读,那就太好了。

以上是关于在没有导航控制器的情节提要中切换 UIViewControllers的主要内容,如果未能解决你的问题,请参考以下文章

无法从 iOS 的情节提要中嵌入导航控制器

模式解除后返回导航控制器索引(无情节提要)

在情节提要中推送多个视图控制器

如何在 Xcode 的情节提要中显示状态栏

在代码中修改导航栏会修改情节提要中的多个导航栏

在多个情节提要上维护导航栏?