I am considering having a segmented control in the navigation bar in the iPhone app. Are there any known drawback of having it in the navigation bar vs. body? Perhaps, less space for other controls in the nav bar, anything else? In my case I went for this option to have more space in the body for the content.
Following the iOS Human Interface Guidelines regarding the Navigation Bar, you can find this:
Consider putting a segmented control in a navigation bar at the top level of an application. This is especially useful if doing so helps to flatten your information hierarchy and makes it easier for people to find what they’re looking for. If you use a segmented control in a navigation bar, be sure to choose accurate back-button titles.
Then, the Segmented Control per se can go on a Navigation Bar, but it should be the first view that the Navigation Controller handles. I believe this guideline is related to this statement:
When the user navigates to a new level, two things should happen:
- The bar title should change to the new level’s title.
- A back button should appear to the left of the title, and it should be labeled with the previous level’s title.
The Navigation Bar, afterall, should help the user navigating the app, then getting oriented in a hierarchical walk. In order to do that you should always show where he currently is (in the title) and give him a chance to return in the previous step (back button).
To sum up, the only drawback I can see is that you are preventing the Navigation Bar from fulfilling its "orientation" purpose. You should probably find a way to fit the title of the current screen somewhere in the bar, even if I guess it may get quite crowded then.