1

我一直在寻找如何调整“标签栏控制器”上的标签栏项目,但显然无法找到任何东西。如何调整Xcode 4.3.1中的标签栏项目?

我想这样做的原因是因为我恰好有6个项目,并且每当您有6个或更多项目时,它会导致创建“更多”项目。因此,4个项目显示在底部,一个“更多”项目显示另外两个项目点击。

我的所有物品的标题都很短,所以我想在没有“更多”的情况下将其中的6个物品挤入正确的下方,唯一的方法就是缩小物品宽度。我怎样才能调整每个项目的宽度?

如果我不够清楚,请提前致谢,附上图片。

enter image description here

回答

2

的的UITabBarController不支持多定制,所以你要么需要编写自己的,或者使用已经被别人写的一个类似的目的之一。你应该检查cocoacontrols.com和github,我确定已经有一些东西可以完成这个,或者至少可以轻松修改。

1

即使您能够对TabBar进行子类化并改变它的行为,您可能必须重写它的内部方法,并且很难估计所需的时间。

为了满足您的要求,我会隐藏标签栏并显示另一个控件(可能是分段控件),将其选择事件传递给使用的tabBarController。这是一种简单快捷的方式,您的应用不会被拒绝。

+0

如果你想要那么远,你可能会完全放弃UITabBarController并使用从头开始构建的东西来达到此目的。您将以某种未被使用的方式使用控制器,这只是在未来的iOS更新中提出麻烦。如果你跳过实现更多的选项卡,UITabBarController实际上很容易重写和完全控制,并且已经有很多自定义实现(主要是为了皮肤目的)。 –

+0

@ einsteinx2的主要缺点是,最终你会说“好吧,让我们有更多的按钮”,然后你看看代码与自定义视图控制器,并说“哎呀,我需要去SO并问,怎么做我做更多按钮“。使用只有一个代码行的tabBarController。兼容性级别非常高,您可以期待tabBarController的有效性,并在稍后免费为您改进。我会留下这个解决方案。 –