Ios 在两个故事板之间切换

Ios 在两个故事板之间切换,ios,objective-c,xcode,swift,storyboard,Ios,Objective C,Xcode,Swift,Storyboard,等等!在您点击“可能重复的…”键之前,请将我的描述通读到底 在我的应用程序中,我有两个情节提要文件,一个是自动打开的初始情节提要(如项目设置主界面中设置的) 当用户点击第一个情节提要视图中的特定项目时,我希望在特定点打开的第二个情节提要 我已经阅读了一些关于使用多个故事板的教程(以及其他相关书籍),但它们似乎都使用了UINavigationController。但是在我的应用程序中,我没有使用UINavigationController作为基础控制器 我想做的只是从第一个情节提要(或由第一个情节

等等!在您点击“可能重复的…”键之前,请将我的描述通读到底

在我的应用程序中,我有两个情节提要文件,一个是自动打开的初始情节提要(如项目设置主界面中设置的)

当用户点击第一个情节提要视图中的特定项目时,我希望在特定点打开的第二个情节提要

我已经阅读了一些关于使用多个故事板的教程(以及其他相关书籍),但它们似乎都使用了UINavigationController。但是在我的应用程序中,我没有使用UINavigationController作为基础控制器

我想做的只是从第一个情节提要(或由第一个情节提要引导的应用程序内委托)中实例化2.情节提要,然后处理第一个情节提要的整个视图/控制器层次结构,因为它不需要在后台(直到用户决定返回)

我知道我可以实例化第二个情节提要并使用以下工具获取其视图控制器:

    var s:UIStoryboard = UIStoryboard(name: storyboardName, bundle: bundle);
    var c:UIViewController = s.instantiateInitialViewController() as UIViewController;
但是,如何从这里开始正确地显示2.情节提要视图(并可能处理/删除1.情节提要视图)?

只需执行以下操作:

UIApplication.sharedApplication().keyWindow.rootViewController = c

如果您根本不需要旧情节提要中的任何内容,请将UIWindow的
rootViewController
属性设置为
c
。如果没有其他对旧情节提要或视图的强引用,ARC将取消对它们的分配。

如果您根本不需要旧情节提要中的任何内容,请设置UIWindow的
rootViewController属性设置为
c
。感谢您的快速评论!这似乎有效。但这是否干净?我是否没有留下要清理的内容,例如删除视图?简单地关闭rootViewController对我来说似乎很残酷。如果没有其他对旧故事板或视图的引用,ARC将取消分配它们。这可能并不总是有效。例如,在关闭
UIAlertView
时,
keyWindow
是警报视图的窗口,而不是应用程序的窗口。