在 iOS 中单击 TabBar 时滑动菜单

Posted

技术标签:

【中文标题】在 iOS 中单击 TabBar 时滑动菜单【英文标题】:Slide a Menu on click of TabBar in iOS 【发布时间】:2014-03-27 13:38:31 【问题描述】:

在我的应用程序中,我使用了 4 个选项卡,它们位于底部,我使用 TabBarController,在单击每个选项卡时我加载了一个 ViewController,它工作正常,现在第 4 个选项卡被称为“更多”,在点击 moreTab 我想像 facebook 一样在 moreVC 中滑动,滑动时 tabBarController 应该移动。

下面是facebook应用的图片

下面你看到他们是tabBar,你可以看到更多按钮,点击它,我想显示这个视图。

我们怎样才能做到这一点

【问题讨论】:

【参考方案1】:

点击 moreTab 我想像 Facebook 一样滑入 moreVC

事实上,FB 应用程序(iPhone 上至少 8.0 版)没有这样做。 FB 应用程序中的“更多”选项卡切换到不同的视图控制器,就像所有其他选项卡项一样。您想到的是大多数视图右上角的“朋友”栏按钮。

我指出这一点只是为了表明 Facebook 的标签栏没有做任何不寻常的事情。不管他们如何实现它,他们的做法与UITabBarController 所做的相同——它管理一组视图控制器并让用户在它们之间切换。尝试创建一个与其他选项卡不同的特殊选项卡不是您应该采用UITabBarController 的路径。如果您确实希望“更多”选项卡具有不同的行为,则需要找到一个第三方组件来实现您想要的功能或编写您自己的组件。

【讨论】:

嗨,Caleb,感谢您的评论。所以你建议不要干扰默认的 UITabBarController。如果是,那么我们是否应该实现自定义 UITabBarController。或者有类似 facebook 正在做的事情。我的意思是顶部有一个按钮,单击该按钮会滑动不同的 VC。 取决于你想要什么。通常,具有更多视图控制器的应用程序无法容纳在标签栏中的 5 或 6 个选项卡上,它们会使用“更多...”视图控制器,让您可以访问不可见的视图控制器。该功能内置于 UITabBarController 中——您可以免费获得它。如果您使用 UITabBarController,执行您正在谈论的滑入式菜单将是额外的工作,因为您需要以某种方式让选项卡控制器显示您的额外视图控制器之一,一个它不管理的视图控制器。如果你真的想要,你可能不得不自己动手。 目前,当用户单击更多选项卡时,我会显示一个具有更多选项的 VC。所以现在我想使用滑动菜单。那么哪个才是好的用户体验呢?

以上是关于在 iOS 中单击 TabBar 时滑动菜单的主要内容,如果未能解决你的问题,请参考以下文章

iOS-实现映客首页TabBar和滑动隐藏NavBar和TabBar

iOS 自定义滑动切换TabBar

Javascript:单击按钮时的多级菜单滑动

iOS从另一个视图的一侧滑动一个UIView(菜单)

单击按钮将视图控制器向左滑动(不是侧边菜单)

单击 ImageView 时如何打开滑动导航抽屉?