2

我的 iPhone 应用程序在视图底部有一个标签栏控制器 - 目前我有三个按钮。但是,我想添加更多,但为此我需要将三个按钮中的最后一个变成“更多...”按钮,否则其他按钮上的文本会相互碰撞。

我知道如果您在标签栏中有超过 5 个按钮,那么它会自动创建一个更多按钮 - 但是有没有办法通过编辑功能手动调用它?

谢谢。

4

4 回答 4

6

您不必手动创建“更多...”按钮。只需将您需要的所有视图控制器添加到选项卡栏控制器,它就会处理其余的。

于 2010-01-12T04:31:17.730 回答
4

即使只有三个选项卡,您也可以将最后一个栏按钮设置为“更多”按钮。该选项卡栏项目的初始化代码将是:

self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemMore tag:0];
于 2010-09-22T14:10:46.037 回答
2

让你的名字更短,或者不要使用标签栏。您将有五个或六个视图控制器,但只希望在任何给定时间可以访问两个?如果您的三分之二的视图将在“更多”列表中,为什么不将它们全部显示在列表中呢?然后你可以回收底部的空间,并且没有视图需要额外的水龙头。

如果你真的想这样做,你应该为UITabBarController. 我浏览了一遍,UIKit甚至尝试了 swizzling -_viewControllersInTabBar,但是在 中的几个地方都假设了五个按钮的限制UITabBarController,所以你最好自己编写。

您可能已经注意到一些 iPad 应用程序,例如 YouTube,有超过五个标签栏项目:(来源:apple.com替代文字

如果 UITabBarController 如此痴迷于不超过五个视图控制器,这怎么可能?UITabBarController也许 Apple在 3.2 SDK 中添加了某种可以帮助您的私有方法。也许它被称为类似的东西-_setMaximumNumberOfItems:,也许它设置了一个NSUInteger名为_maxItems. 如果 Apple 确实添加了这样的私有方法,您仍然需要等待 iPhone 兼容的 3.2 版本发布,即便如此,使用私有方法也很糟糕。

更改标签名称。没什么大不了的。

于 2010-03-16T17:16:19.583 回答
0

所以甚至无法制作 6 视图标签栏应用程序吗?

即使每个人的名字都超短

让我们说这样的话

红色 红色 红色 红色 红色

而不是黄色 黄色 黄色 黄色 黄色

于 2010-10-18T14:10:57.910 回答