By Brij

2009-11-12 14:58:42 8 Comments

Let me know which one should be used in what case.

What are differences among them?

What are the advantage and disadvantage of each component?


@leanne 2018-06-13 14:40:39

As of June 2018, the Human Interface Guidelines (HIG) include the most current expectations for iOS, macOS, watchOS, and tvOS, including links to details for developers.

For iOS, the guideline summaries are:

Navigation Bars:

A navigation bar appears at the top of an app screen, below the status bar, and enables navigation through a series of hierarchical screens.


A toolbar appears at the bottom of an app screen and contains buttons for performing actions relevant to the current view or content within it.

Tab Bars:

A tab bar appears at the bottom of an app screen and provides the ability to quickly switch between different sections of an app.

As far as advantages and disadvantages of each, one important aspect is whether you want the bar to appear at the top or bottom of a view. Navigation bars are supposed to appear at the top, while toolbars and tab bars are expected to appear at the bottom of the view.

Another is whether you want navigation functionality vs actions/tasks related to a view. Navigation Bars implement a button to return to the previous view in the stack, tab bars provide a more abrupt change (such as switching from an alarm view to a timer view, say), and toolbars are really intended for actions (such as sharing, say) rather than actual "navigation".

If you come here and find that any of the links are broken, just search on "Human Interface Guidelines" to find the current documentation.

@Ben Gottlieb 2009-11-12 15:00:45

You should take a look at the Mobile HIG (Human Interface Guidelines) for these questions.

@Sixten Otto 2009-11-12 15:36:44

+1 There's a Fine Manual for that!

@Rydell 2012-10-22 18:13:29

@Dan Loewenherz 2014-02-14 18:02:25

These are dead links.

@leanne 2018-06-13 14:53:01

Updated links noted in this answer from June 2018.

@Chris S 2010-03-03 12:33:12

To quote big brother:


If your application provides different perspectives on the same set of data, or different subtasks related to the overall function of the application, you might want to use a tab bar. A tab bar appears at the bottom edge of the screen.

A tab bar gives users the ability to switch among different modes or views in an application, and users should be able to access these modes from everywhere in the application


If your application provides a number of actions users can take in the current context, it might be appropriate to provide a toolbar

However that doesn't give you a completely clear application-based decision. The best solution is to look at the iPhone inbuilt applications (Clock and iPod) along with Appstore-approved apps and stick to what is consistent, as that is what the Apple HIG guides and the appstore approval process boils down to.

@Mez 2009-11-12 15:30:43

The UINavigationBar class implements a control for navigating hierarchical content. It’s a bar, typically displayed at the top of the screen, containing buttons for navigating up and down a hierarchy. The primary properties are a left (back) button, a center title, and an optional right button.

An instance of the UIToolbar class is a control for selecting one of many buttons, called toolbar items. A toolbar momentarily highlights or does not change the appearance of an item when tapped. Use the UITabBar class if you need a radio button style control.

The UITabBar class implements a control for selecting one of two or more buttons, called items. The most common use of a tab bar is to implement a modal interface where tapping an item changes the selection.

@Brij 2009-11-13 12:53:36

Can you explain about supported child elements type like view,viewcontroller..etc for all?

@Mez 2009-11-13 14:32:08

If you need more information about the relationships between the different view types I advise you to read this page where it's explained really well:…

@leanne 2018-06-13 14:51:35

Updated link to About View Controllers (valid as of June 2018; however, last update of info at link was November 2014. Other controllers now exist, such as TableView Controller. More current info (in Swift) can be found on the Developer site at Documentation->UIKit->View Controllers.

Related Questions

Sponsored Content

88 Answered Questions

[SOLVED] How can I make a UITextField move up when the keyboard is present?

19 Answered Questions

24 Answered Questions

7 Answered Questions

[SOLVED] Version vs build in Xcode

  • 2011-07-27 21:48:15
  • chris
  • 127069 View
  • 600 Score
  • 7 Answer
  • Tags:   ios xcode

11 Answered Questions

7 Answered Questions

[SOLVED] How to add a button to UINavigationBar?

32 Answered Questions

3 Answered Questions

[SOLVED] Xcode Project vs. Xcode Workspace - Differences

  • 2014-02-07 15:16:34
  • ms2
  • 64001 View
  • 280 Score
  • 3 Answer
  • Tags:   xcode

14 Answered Questions

[SOLVED] Comparison between Corona, Phonegap, Titanium

33 Answered Questions

Sponsored Content