我可以将 UITabBarController 用作简单的 viewController 切换器吗?

Posted

技术标签:

【中文标题】我可以将 UITabBarController 用作简单的 viewController 切换器吗?【英文标题】:Can I use UITabBarController as a simple viewController switcher? 【发布时间】:2010-10-23 09:17:31 【问题描述】:

我正在创建一个基于 UINavigationController(隐藏栏)的 iPad 应用程序,因此我可以推送和弹出其他视图控制器以在应用程序周围导航。但是,我现在想添加一个部分,其中有两个我希望能够在它们之间切换的 viewController,换句话说,它们是并排的,而不是分层的。

可以为此使用UITabBarController 吗?我知道在 iPhone 上建议仅在应用程序的根级别使用它们,但由于这是一个 iPad 应用程序,我想知道我是否可以使用它?另外,我想我需要创建一个空的 viewController,在其中创建一个 UITabBarController 并将委托设置给它,然后将两个 viewController 添加到它......所以实际上我将在另一个 viewController 中有一个 viewController,当我过去曾这样做过,但结果非常不稳定。

我可以这样做吗?我能想到的唯一另一种方法是在UIViewController 中有两个计划UIViews,但这也意味着我不应该在其中放入任何业务逻辑(糟糕的 MVC!),并且不能to 将是 a** 中的一个正确的痛苦。

有什么想法吗?

谢谢!

:-乔

编辑:我还需要能够在 TabBarController 中的两个 VC 之间滑动动画,并且在顶部有一个不动画的菜单栏...我可以这样做吗?

【问题讨论】:

【参考方案1】:

当然。

我在我正在开发的应用程序中到处都在做这种事情。我实际上有几种不同类型的“工具栏”,可以选择在不同时间显示。

我所做的是在我的工具栏的类中创建一个“父”成员 - 当按下按钮时,我让工具栏调用父类中的一个方法来做任何需要做的事情 - (即显示另一个视图) .

这避免了在另一个视图中创建视图(或在另一个视图控制器中创建视图控制器 - 或其他)的整个混乱 - 工具栏可以点击按钮,但 所有 视图由根打开视图/控制器。

希望这会有所帮助/有意义!

【讨论】:

你的意思是给UITabBarController添加一个父属性?目前,我创建了一个扩展 UITabBarController 并将业务逻辑放入其中的类......这是正确的方法吗?我可以将其委托设置为自身吗?感谢您的帮助:) 先验 - 添加(并设置)“父”属性 - 并通过 调用操作视图。 啊,好吧,所以您说的是仅将 UITabBarController 用于其图形选项卡,而不是内部结构...不幸的是,我想反其道而行之...如果我开始通过父操作视图然后我可能不使用 UITabBarController。事实上,我无法让它按照我想要的方式制作动画,所以我回到了两个 UIView。

以上是关于我可以将 UITabBarController 用作简单的 viewController 切换器吗?的主要内容,如果未能解决你的问题,请参考以下文章

嵌入在 NavigationController 中的 UITabBarController

具有纵向/横向视图的 UITabBarController

以编程方式将 UITabBarController 中 TabBarItem 中的图标居中

将额外的 UITabbarItem 添加到 UITabbarController

将 presentViewController 与 UITabbarController 一起使用时如何传递数据

在 UITabBarController 之前呈现登录视图控制器