如何在iOS中制作水平滚动UITabBar?

时间:2011-12-12 23:59:00

标签: iphone ios ipad

我的应用程序中的UITabBar包含10个以上的项目,但宽度足以放入所有10个以上的项目。

如何在iOS中制作水平可滚动的UITabBar?

感谢。

3 个答案:

答案 0 :(得分:4)

至少在某种程度上你必须自己动手。

可能 的工作原理是创建UITabBar视图(不是控制器)并将其嵌入UIScrollView中。然后,您可以通过将其添加到TabBarController.view / tabBarView或其他内容来使用它代替常规Tab Bar控件。当然,你必须四处玩才能让它看起来正确,而且我不确定是否只是将视图设置得更宽,实际上会让它显示更多项目。

当然,为了获得最佳效果,您可能希望完全自定义。

答案 1 :(得分:2)

来自Apple的开发者门户网站:

  

如果向viewControllers属性添加五个以上的项目,则选项卡栏控制器会自动插入一个特殊的视图控制器(称为“更多视图控制器”)来处理其他项目的显示。   Source

好像你需要制作一个自定义标签栏。

他们在下一段中也说过这个:

  

虽然标签栏视图是标签栏界面的关键部分,但您不能直接修改该视图。   您可能会违反Apple的设计准则。

答案 2 :(得分:2)

你当然可以创建UITabBar的自定义类(将其嵌入到scrollview等中)。但是为什么要重新发明轮子呢?在搜索之后,我发现已经创建了几个第三方类,它们运行良好,易于使用且可高度自定义。按个人喜好排序:

M13InfiniteTabBar - https://github.com/Marxon13/M13InfiniteTabBar

JSScrollableTabBar - https://github.com/jasarien/JSScrollableTabBar

InfiniTabBar - https://github.com/iosdeveloper/InfiniTabBar