通过隐藏tabbar来自定义UITabBarController。馊主意 ?

时间:2012-03-27 12:56:21

标签: ios uikit

我正在研究自定义UITabBarController的方法。自定义包括每个条形项的自定义图像和“凸起”的中央按钮项。

我知道Apple不建议继承UITabBarController的子类,我发现了一些通过编写一个模仿默认行为的新组件来处理这个问题的例子。

但是我觉得不值得放弃默认提供的功能,因为我只想“修饰”组件。

我的想法是隐藏标签栏并在标签栏顶部放置一些自定义按钮,按下时会调用tabbarcontroller.selectedIndex=<new_value>

这是个坏主意吗?

我没有看到任何缺点,但想问是否还有其他简单方法可以做到这一点。

3 个答案:

答案 0 :(得分:2)

这不是世界上最糟糕的主意。我对R.A&#39点关于用户界面问题的看法,但似乎很清楚,从iOS 5 Apple开始,人们更乐意改变标签的外观和感觉 - 因此新的UIAppearance类和允许您在标签栏和标签栏项目上使用特定自定义色调,背景等的方法。

这在iOS 5上非常好用,但是如果你想在iOS 4上看到你看起来很棒的标签栏,那你就需要提出另一种方法。您可以从头开始编写整个标签栏控制器,也可以修改现有标签栏控制器。在当前标签栏上添加视图并不是世界上最糟糕的想法。它不是伟大的,但它肯定是一种方法。

当然,如果您只能定位iOS 5,则可能需要查看标签栏提供的UIAppearance方法。

答案 1 :(得分:1)

根本不是一个坏主意,你不是UITabBarController的子类,即。你没有违反条款和Apple的规则,但创建自己的按钮,并在原始tabbar的位置添加它们,给人一种自定义tabbar的感觉,所以我认为这是创建自定义tabbar的最佳方式,没有子类化UITabBarController

答案 2 :(得分:0)

我认为这真是一个坏主意。由于Iphone用户必须通过查看来了解自己,因此它是TabBarItemUIbutton。仅出于此目的,Apple不允许开发人员customize。如果用户点击了UIButton,那么他们将在下一个视图中执行某些操作,但是如果他们单击TabBar项,则用户将希望在同一视图中执行操作。所以它们之间存在差异。希望你明白。