iOS UINavigationBar vs UIToolbar vs UITabBar

时间:2009-11-12 14:58:43

标签: ios iphone xcode interface-builder

让我知道在哪种情况下应该使用哪一个。

他们之间有什么区别?

每个组件的优点和缺点是什么?

4 个答案:

答案 0 :(得分:22)

UINavigationBar 类实现用于导航分层内容的控件。它是一个条形图,通常显示在屏幕顶部,包含用于在层次结构中上下导航的按钮。主要属性是左(后)按钮,中心标题和可选的右按钮。

UIToolbar 类的一个实例是用于选择多个按钮之一的控件,称为工具栏项。点击时,工具栏会暂时突出显示或不会更改项目的外观。如果需要单选按钮样式控件,请使用UITabBar类。

UITabBar 类实现一个控件,用于选择两个或多个按钮之一,称为项目。标签栏最常见的用途是实现模态界面,其中点击项目会更改选择。

答案 1 :(得分:12)

引用大哥:

  

<强>的TabBar

     

如果您的申请提供不同的   对同一组数据的观点,   或与之相关的不同子任务   应用程序的整体功能,   您可能想要使用标签栏。一个标签   栏出现在底部边缘   屏幕。

     

标签栏为用户提供了相应的功能   切换不同的模式或视图   在应用程序中,用户应该是   能够从中访问这些模式   应用程序中的任何地方

  

<强>工具栏

     

如果您的应用程序提供了一个号码   用户可以采取的行动   目前的情况,可能是   适合提供工具栏

但是,这并没有给您一个完全明确的基于应用程序的决定。最好的解决方案是查看iPhone内置应用程序(时钟和iPod)以及Appstore批准的应用程序并坚持一致,因为这是Apple HIG指南和appstore审批流程归结为。

答案 2 :(得分:9)

对于这些问题,您应该查看Mobile HIG(人机界面指南)。

答案 3 :(得分:1)

截至2018年6月,Human Interface Guidelines (HIG)包含对iOS,macOS,watchOS和tvOS的最新期望,包括开发者详细信息的链接。

对于iOS,指南摘要如下:

Navigation Bars

  

导航栏出现在状态栏下方的应用程序屏幕顶部,可以通过一系列分层屏幕进行导航。

Toolbars

  

工具栏显示在应用程序屏幕的底部,其中包含用于执行与当前视图或其中内容相关的操作的按钮。

Tab Bars

  

标签栏显示在应用程序屏幕的底部,可以在应用程序的不同部分之间快速切换。

就每种方法的优缺点而言,一个重要方面是 您是否希望条形图显示在视图的顶部或底部 。导航栏应该出现在顶部,而工具栏和标签栏应该出现在视图的底部。

另一个问题是您是否需要与视图相关的 导航功能与操作/任务 。导航栏实现一个按钮以返回堆栈中的上一个视图,标签栏提供更突然的更改(例如从警报视图切换到计时器视图),工具栏实际上用于操作(例如共享,说而不是实际的“导航”。

注意:
如果您来到此处发现任何链接已损坏,只需搜索“人机界面指南”即可查找当前文档。