【发布时间】:2015-08-21 18:06:54
【问题描述】:
我正在尝试(为了实验)使用多个故事板。 第一个故事板(从启动时开始)只包含一个视图控制器,它执行一些代码并从网站下载 json 数据。
当完成下载任务时,(第一个故事板的)视图控制器在实例化后将第二个故事板的入口点设置为根视图控制器。
UIStoryboard *mainSB = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:[NSBundle mainBundle]];
UITabBarController *rootTabBarController = (UITabBarController *)[mainSB instantiateInitialViewController];
dispatch_sync(dispatch_get_main_queue(), ^{
...
self.view.window.rootViewController = rootTabBarController;
第二个故事板包含一个标签栏控制器,里面有一个拆分视图控制器:
一切正常,但 splitview 控制器内部的导航栏控制器有一个奇怪的行为。它的后退按钮在按下时可以工作,但不能正确显示,因为只有“后退”文本而没有左箭头。
]3
仅在几分钟后,在主视图和详细视图之间进行了一些转换后,后退按钮才能正确显示左箭头。
(如果我只使用启动时的第二个故事板,则一切正常)
我知道在这种情况下我只能使用一个情节提要,但我想知道以这种方式处理多个情节提要是否不正确,或者这是一个错误。
【问题讨论】:
-
您知道如果您将所有控制器都放在一个情节提要中,它会起作用吗?顺便说一句,Apple 说拆分视图控制器应该只是窗口的根视图控制器,而不是嵌入在标签栏控制器中。
-
@rdelmar 是的,如果我将所有控制器都放在同一个情节提要中并执行特定的 segue,那么一切正常。 StoryBoard 但是,使用 TabBar 控制器和其中的 UISplitView 我没有任何问题。
-
我试图从第二个故事板中删除 UISplitViewController,只留下 UINavigationController。一切正常,所以问题出在 UISplitViewController。
标签: ios uinavigationcontroller uistoryboard uisplitviewcontroller