我应该在 ViewController 底部使用标签栏或按钮吗?

Posted

技术标签:

【中文标题】我应该在 ViewController 底部使用标签栏或按钮吗?【英文标题】:Should I use a tab bar or button at the bottom of my ViewController? 【发布时间】:2014-07-02 13:49:23 【问题描述】:

我刚刚学习 ios,我想创建一个在屏幕底部有几个按钮的应用程序。

我有点不确定,我知道你可以在下面使用标签栏,但是当你想要屏幕底部的按钮时,你应该总是使用它吗?还是不用标签栏,直接放一个普通的按钮就行了?

【问题讨论】:

【参考方案1】:

根据苹果的文档,UITabBar 是一个用于显示视图的控件。

标签栏是一个控件,通常在标签栏控制器的上下文中出现在屏幕底部,用于让用户一键式、模态地访问应用程序中的一组视图。

如果您使用此“按钮”的目标是显示其他视图,那么您应该使用UITabBar 组件。

但如果您只是搜索“常用按钮”,那么您应该使用UIButton 组件。

【讨论】:

【参考方案2】:

标签栏应该允许用户在标签之间切换;每个页面的底部都会出现相同的栏,它允许您在它们之间切换。如果这描述了您要完成的工作,那将是合适的。如果您的按钮用于某些不同的目的,那么标签栏可能会产生误导。

【讨论】:

【参考方案3】:

标签栏(UITabBar 类)通常是标签栏控制器(UITabBarController 类)的一部分。按钮(UIButton 只是一种响应按钮内的点击或其他操作的方式。

当您需要在应用程序中的不同视图和视图控制器之间切换时,您希望使用标签栏和标签栏控制器。例如,您 iPhone 上的音乐应用程序有一个标签栏控制器,可以在艺术家、播放列表、专辑等之间切换。这些是不同的屏幕,或者看起来相同但以不同的方式显示您的音乐的屏幕。

如果您只想响应按钮,例如打印到控制台或向用户显示“嘿,您已点击按钮”的消息,那么UIButton 就是您想要的需要。

另外,UIButton 可以有很多动作,Touch Up Inside 可能就是您要找的那个。如果用户开始点击按钮,这将确保按钮有一个动作被调用,并在按钮顶部放开他们的手指。

总结一下:

如果您只是想响应某个操作,请使用 UIButton,您将连接到按钮的最常见操作是 Touch Up Inside。 使用UITabBarController 可以在不同的视图和视图控制器之间切换。

【讨论】:

以上是关于我应该在 ViewController 底部使用标签栏或按钮吗?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone - 可以使 ViewController 透明或使视图从底部滑入吗?

在 Swift 中让 UIView 粘在 ViewController 框架的底部

如何根据底部的 webview 设置 Viewcontroller 动态高度?

如何使用autolayout将UIScrollView滚动到viewWillAppear的底部,没有可视化动画

从 xib 调用 viewController

iOS模拟器中未显示底部按钮