如何限制UITabBarController上的选项卡数量?

时间:2011-02-19 02:00:40

标签: iphone uitabbarcontroller

我有一个带有UITabBarController的iPhone应用程序。一切正常。该应用程序具有比显示器纵向宽度更多的选项卡,因此我们总共看到5个选项卡(最后一个是“更多”选项卡)。问题是,我们希望将一些“不太有趣”的东西放在“更多”标签背后。我知道如果我只有2个视图控制器,那么我只会看到2个标签,依此类推,直到我超过5个标签。

我们如何只展示4个标签(3个加“更多”标签),而不是5?

我的猜测是:仅通过设置一个属性(这当然很方便!)是不可能的,因为我在文档中找不到任何内容,或者坦率地说,不这样做。

如果没有实现我自己的“更多”标签,并且仅向标签栏控制器提供4个视图控制器(最后一个是我自己的“更多”控制器),那么任何提示,技巧或提示都会受到赞赏。谢谢!

3 个答案:

答案 0 :(得分:3)

使用标准UITabBarController似乎无法做到这一点。我也不认为其他人遇到过这个问题,并且已经为你解决了。

答案 1 :(得分:3)

只是想把它包起来。最后,我实现了自己的“更多”控制器,并为UITabBarController提供了4个视图控制器,最后一个是我的更多控制器。

自定义More控制器只是我在创建UITabBarController的主选项卡和关联控制器时创建的通用UITableViewController子类。然后,我将行标题和相应的UIViewControllers添加到更多视图控制器中的数组。当该选项卡可见并点击一行时,我只需按下相应的视图控制器。

整个效果看起来完全是“股票”,除了我有4个标签而不是5个。它比我想象的更少麻烦。永远是奖金。

希望这可以帮助有人下线。

答案 2 :(得分:2)

您要么必须继承UITabBarController,这可能会有点混乱,或者只是像您提到的那样编写自己的标签栏控件。正如@blueberryfields所提到的那样,真的没有别的办法了。在处理这个问题时,自定义标签栏看起来很常见,如果你真的设置为一次只显示3个标签,我建议你走这条路。