从 UITabBarController 推送的 UISplitViewController

Posted

技术标签:

【中文标题】从 UITabBarController 推送的 UISplitViewController【英文标题】:UISplitViewController pushed from UITabBarController 【发布时间】:2015-09-18 13:43:43 【问题描述】:

在我的应用程序中,我希望只有一个适用于 iPad 和 iPhone 的故事板。 我的根控制器是 UITabBarController,有 7 个孩子,大多数是 UISplitViewController

在 iPhone 上,更多选项卡会自动出现以访问所有选项卡,使它们从那里推送,从而导致错误:

Split View Controllers cannot be pushed to a Navigation Controller

我该如何解决这个问题?

非常感谢!

【问题讨论】:

看看这个:***.com/questions/10021210/… 或许这能解决你的问题。 【参考方案1】:

好吧,简而言之,当用户的设备是 iPad 时,我最终以编程方式创建我的UISplitViewControllers,同时保持我的大部分情节提要相同。

这样做:

在 IB 中,我从 UITabBarController(链接)中删除了所有视图控制器 我给这些UIViewControllers 中的每一个都分配了一个故事板ID 在 AppDelegate 的 didFinishLaunchingWithOptions 中,我创建了一个方法来构建视图的层次结构,使用情节提要 ID 来实例化 ViewControllers,并在 iPad 上添加 UISplitViewController。所有这些都是与一个数据源对象相关联的,该对象可以微调我的每个屏幕的需求。

希望有帮助!

【讨论】:

以上是关于从 UITabBarController 推送的 UISplitViewController的主要内容,如果未能解决你的问题,请参考以下文章

如果 UITabbarcontroller 不是 rootviewcontroller,如何从 Appdelegate 为 UIBarButtonItem 设置徽章(无论何时推送通知)?

从一个 UITabBarController 导航到另一个 UITabBarController

在 UITabbarController 上推送 UIViewController 的问题

在 UITabBarController 的 UINavigationController 中推送 UIViewController

在推送的 UITabBarController 上设置徽章

如何防止通过推送 SFSafariViewController 解雇 UITabBarController?