UIStoryBoard 加载 rootController
Posted
技术标签:
【中文标题】UIStoryBoard 加载 rootController【英文标题】:UIStoryBoard load rootController 【发布时间】:2013-01-26 05:21:54 【问题描述】:我的应用程序中有 UIStoryBoard 方法,它具有以下模式的屏幕:
UINavigationController -> MyMainController -> UITabBarController-> UINavigationController -> MyHomeController
从 MyHomeController 有一个 UIButton 和它的动作是
UINavigationController -> MyDetailsController
现在,我想从 MyDetailsController 回到 MyMainController。我面临的问题是我没有以黑色突出显示 UINavigationController 以从 MyDetailsController 访问。
另外,UIStoryBoard 不必根据 Identifier 获取 UIViewController。
它有但实例化了一个 UIViewController,这不是一个更好的解决方案。
- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier
【问题讨论】:
为什么不让标签栏控制器成为根控制器? @rdelmar 我不希望 UITabBar 在 MyMainController 的底部。 然后您可以在该控制器在屏幕上时隐藏标签栏。使用底部的标签栏,结构会更加简单明了。但整体设计实际上取决于您在所有这些不同的控制器中所做的事情。 @rdelmar 我不想显示带有 UITabBar 项的 MyMainController。使用您提到的方法,我必须从 UITabBarItems 添加和删除 if,尽管我将隐藏 UITabBar。所以管理它变得有点过度了。 您可能会使用展开转场来回到您的 MyMainController。 【参考方案1】:Uitabbar 控制器优先。然后添加 uinavigation 控制器,然后添加您选择的视图控制器作为导航控制器的根控制器
这篇文章有很好的图片来说明这个问题
General way to pass data to UIViewControllers when using a UITabController
【讨论】:
以上是关于UIStoryBoard 加载 rootController的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在不同的 UIStoryBoard 的 UIViewController 中使用 UIStoryBoard?