我正在开发一个需要滚动UITabBarController的应用程序。最常见的5个标签项目,其中第5个是更多..标签,但是没有做到。我找到了一些非常棒的第三方课程,例如https://github.com/Marxon13/M13InfiniteTabBar,它们很棒,并且具有我想要的功能但是,事情并不完美。当我将设备旋转到景观时,事情会变得很糟糕。
基本上,我厌倦了,想要用滚动创建我自己的自定义UITabBarController。我会怎么做呢?我知道我很可能会在UIScrollView中放置一个UITabBar,但是如果没有详细的教程,我就会迷失...
任何帮助将不胜感激!谢谢!
答案 0 :(得分:1)
我接近这个的方法是避免修改UITabBar
,因为它是高度专业化的,并创建一个UIViewController
子类,它将为您提供此功能。此视图控制器应具有容器视图(请查看此Apple documentation以获取更多详细信息),该视图将包含每个子视图控制器的内容视图。
对于实际的标签栏本身,您有几个选项,具体取决于您希望它与标准UITabBar
的相似之处。
您可以拥有一个超级基本标签栏,其中包含UIScrollView
标准UIButtons,用于更改/加载正确的内容视图控制器。创建标签栏会很简单,只需将按钮添加到某种类型循环内的滚动视图中(您可以将x位置设置为选项卡索引的倍数以使定位更容易)。 UIButton
支持您可以使用的选定按钮状态。您可以更改滚动视图的背景。
你可以有一个花哨的标签栏,其构造基本上与上面类似,但是通过自定义UIButton
子类而不是标准UIButton
。这将允许您实现更复杂的设计(即具有更多自定义触摸处理。
<强>提示:强>
使用[myImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
可以在选中时将标签图像设置为标准标签。
在故事板中设计自定义视图控制器的基础知识。以这种方式添加子容器视图和滚动视图非常容易。
希望这有帮助!