我需要关于UITabBarController的这个实现的专家建议

时间:2011-07-22 15:11:04

标签: iphone objective-c cocoa-touch uitabbarcontroller uitabbaritem

我目前需要8 TabBarItems,我只能展示4个项目。我需要能够滚动到下一个4 tabBarItems。

在UITabBar的默认行为中,您通常会获得超过5个标签栏项目的“更多”tabbaritem。我希望它是Scroll Button代替MORE按钮。

所以~~如果按下滚动按钮(或第五个)tabBarItem,它应该显示另外4个带有后滚动按钮的标签栏项目。

这是我这样做的方法 -

  1. 实现Scroll UITabBarItems但这意味着我必须从头开始处理这个项目,这不是我最好的选择。

  2. 我可以在最终选项卡上推送视图控制器,并显示带有4个标签栏图标的新视图,并对其进行处理。 (从标签栏控制器推动标签栏控制器时出现问题)

  3. 我可以为接下来的四个标签创建一个模态视图控制器,当我按下滚动按钮时弹出它。 (将tabbarcontroller设置为当前模态视图控制器时遇到问题)

  4. 从tabBarViewController数组中删除所有视图,并在单击相应的选项卡时添加新视图。再次单击上一个选项卡时重新加载相同的选项卡。这些有哪些并发症?我不想打扰rootController。

  5. 你还能想到其他什么吗?

    无论我采取什么方法,我都需要在两个视图之间滑动动画。

    如果有人能就可以做的事提供专家意见,我将不胜感激。

    感谢。

2 个答案:

答案 0 :(得分:1)

我只看到两个不错的选择:

  1. 将标签向下放入排水管,接受标签栏上的八个选项太多了。而是去顶级选择屏幕。使用带有列表的表格视图,或者像选项网格一样的主屏幕。
  2. 咬紧牙关并实施自己的LGInfiniteTabBarController,包括LGInfiniteTabBar,它实际上具有您想要的行为。对于你想要的东西没有标准控制。

答案 1 :(得分:0)

您可以收到代理– tabBarController:didSelectViewController:,如果它是边视图控制器,请执行动画并切换tabbarcontrollers视图控制器。 您将拥有一个空的viewcontroller,其中有一个tabbar项目,显示为“Next”或“Prev”或其他任何内容,并且您可以使用空的viewcontroller管理视图控制器的单独数组,无论哪个选项卡显示更多。然后在用户使用该选项卡时交换适当的viewcontrollers。