我需要有关 UITabBarController 实现的专家建议

发布于 2024-11-25 10:11:51 字数 754 浏览 1 评论 0原文

我目前需要 8 个 TabBarItems,并且我只能在视图中显示 4 个项目。我需要能够滚动到接下来的 4 个 tabBarItems。

在 UITabBar 的默认行为中,您通常会为超过 5 个选项卡栏项目获得“更多”选项卡项。我希望它是滚动按钮而不是更多按钮。

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

这些是我这样做的方法 - -

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

  2. 我可以将视图控制器推到最后一个选项卡上,并显示带有 4 个选项卡栏图标的新视图,然后进行处理。 (在从选项卡栏控制器推送选项卡栏控制器时遇到问题)

  3. 我可以为接下来的四个选项卡呈现一个模式视图控制器,并在按下后退滚动按钮时弹出它。 (在将 tabbarcontroller 设置为当前模态视图控制器时遇到问题)

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

你还能想到什么吗?

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

如果有人能够就可以做什么提供专家建议,我将不胜感激。

谢谢。

I am currently in need of 8 TabBarItems, and I can show just 4 items in view. And I need to be able to scroll to the next 4 tabBarItems.

In the default behavior of the UITabBar, you normally get a 'MORE' tabbaritem for more than 5 tab bar items. I want it to be the Scroll Button in place of the MORE button.

So ~ ~If I press the scroll button (or the fifth) tabBarItem, it should display 4 more tab bar items with a back scroll button.

These are my ways of doing this - -

  1. Implementing a Scroll UITabBarItems but this would mean I have to work on the project from scratch, and this is not my best option.

  2. I can push view controller on the final tab and show a new view with 4 tab bar icons, and work on that. (Having trouble with pushing a tab bar controller from a tab bar controller)

  3. I can make present a modal view controller for the next four tabs and pop it when I press back scroll button. (Having trouble with setting up a tabbarcontroller as a present modal view controller)

  4. Removing all views from the tabBarViewController array and adding new ones when the corresponding tab is clicked. And again reloading the same tabs when previous tab is clicked. What are the complications of these ? I do not wish to disturb the rootController.

Anything else you can think of ?

Whatever approach I take, I need sliding animation between the two views.

I would appreciate it if anyone could offer expert advice on what can be done.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠佳期 2024-12-02 10:11:51

我只看到两个好的选择:

  1. 将选项卡扔进下水道,接受八个选项对于选项卡栏来说太多了。相反,请选择顶级选择屏幕。使用带有列表的表格视图,或主屏幕(如选项网格)。
  2. 硬着头皮实现您自己的 LGInfiniteTabBarController,包括 LGInfiniteTabBar,它实际上具有您想要的行为。对于您想要的东西,没有标准的控制。

I only see two good options:

  1. Throw tabs down the drain, accept what that eight options is too much for a tab bar. Instead go for a top level selection screen. Use a table view with a list, or a home screen like grid of options.
  2. Bite the bullet and implement your own LGInfiniteTabBarController, including a LGInfiniteTabBar, that actually have the behavior you want. There is no standard control for what you want.
彩虹直至黑白 2024-12-02 10:11:51

您可以接收委托 – tabBarController:didSelectViewController: ,如果它是边缘视图控制器,则执行动画并切换您的 tabbarcontrollers 视图控制器。
您将有一个空的视图控制器,其中有一个选项卡栏项目,上面写着“下一个”或“上一个”或其他内容,并且您可以使用哪个选项卡中显示更多内容的空视图控制器来管理单独的视图控制器数组。然后,当用户使用该选项卡时,只需交换适当的视图控制器即可。

You could receive the delegate – tabBarController:didSelectViewController: and if it's an edge view controller, perform an animation and switch out your tabbarcontrollers viewcontrollers.
You would have an empty viewcontroller which has a tabbar items that says 'Next' or 'Prev' or whatever, and you manage the separate arrays's of view controllers with the empty viewcontroller in whichever tabs would show more. Then just swap in the proper viewcontrollers when the user uses that tab.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文