I am just starting out iOS development and have some doubts about Tab Bars Human Interface Guidelines provided by Apple.
On the iOS HIG document concerning Tab Bars, it reads:
"A tab bar appears at the bottom edge of the screen and should be
accessible from every location in the app."
The app I am developing and would like to see published in the App Store once finished, would have a ListView as it's first screen that would then go to another screen with a tabbed interface after an item being selected. It would also be possible to go back to the first screen (the one with the list) at any time within the tabbed interface (the 2nd screen).
So, my question is if it's ok to have a Tab Bar interface only in the second screen of an iOS application or would something like that might result in some restrictions by apple approving?
Thanks.
Short answer is YES.
Yes, you can have tab bar in second screen. Consider the app where you have first screen as language select screen and second screen with tab bar controller.
With statement below, what Apple means is once you are in tab-bar controller and tab-bar controller is in scope, tab-bar controller should be accessible. You can hide the tab-bar, but on tapping, it should come again at the bottom of screen.
"A tab bar appears at the bottom edge of the screen and should be accessible from every location in the app."
Main words -> Should be. Apple wants you to make your apps in the most intuitive and user friendly way possible. Many standard apps use this paradigm (ie App Store Application) so they know iOS users are accustomed as to how to navigate. However, Apple themselves even make exceptions to this rule (ie. Playing a song inside the Music App). But yeah, they'll let you do it no problem.
Related
Using the air bnb app, if you click on the far right icon on the tab menu, it opens a user menu which slides in from the right over the top but only takes up half of the screen. The rest of the screen below is dimmed.
How can this be implemented? Does it require a custom segue or view controller container?
I have seen a similar feature to what your describing done before using a modal segue that instantiates a new view with a partially transparent background. You have given a vague question so I can't really provide a specific answer. Comment if you need more info.
Here is the app I saw it in, from a tutorial.
In iBooks there is a bottom bar filed with miniature images in which the user can scroll through and thus move between the pages I would like to know the name of the bar.
When you want to know about UI elements provided by Apple you need to refer to the iOS Human Interface Guidelines. In fact, this should be one of the first documents every iOS developer goes through in its entirety.
Going through this document will reveal that your question is about the Tab Bar. This is usually created with a UITabBarController.
I am developing an app on which i want to show a tab bar at the top of the screen.When user tap on tab then it should redirect user to different screen.Normally i see tab bar at bottom.So What will happen if i show tab bar at top.
1.Does it violate apple human interface guidelines?
2. If i don't follow apple Human Interface Guidelines.Will apple reject my app on app store?
Please suggest me what to do?
Are you thinking tabs, as in browsers? If so, then no putting your tabs or a tab button in the top of the screen doesn't violate any guidelines. For example, the newly released Firefox for iOS has a tab button in the top right corner.
However, you should generally show how you have tried to find an answer, as the iOS Human Interface Guidelines provide clear guidelines about how you should design your app.
iOS Human Interface Guidelines
I am building an app where I need to add a TabBarController on a particular screen, Lets assume maybe on second or third screen.
I have gone through several blogs but everyone says UITabBarController can be added as an initial view controller only.
But I want it for some few screens only. How can I accomplish it?
Need guidance!
The answer is "you shouldn't."
From the Human Interface Guidelines:
"In general, use a tab bar to organize information at the app level. A tab bar is well suited for use in the main app view because it’s a good way to flatten your information hierarchy and provide access to several peer information categories or modes at one time.
Don’t use a tab bar to give users controls that act on elements in the current screen or app mode. If you need to provide controls, including a control that displays a modal view, use a toolbar instead (for usage guidelines, see Toolbar). "
I have developed an app that has work successfully for the last 4 months using iOS 4.3 and under. Since iOS 5 however the tightening of view hierarchy has left my app dead in the water. The app starts with a tab bar as its main view with 5 tabs. When the user selects a row on a tableview on the first tab it pushes onto another tabbar with 3 tabs which gives specific information about that selection. This structure worked fine but obviously broke when testing on iOS 5.
My question is: Is it bad design to utilize 2 or more tab bars in one application? I don't mean "bad design" in the grand scheme of things because that is subjective. I mean in a practical sense where it is specifically forbidden or not recommended.
have a look at this:
iOs Human Interface Guideline
Yes, I think that it's not recommended.
For example:
Use a tab bar to give users access to different perspectives on the same set of data or different subtasks related to the overall function of your app. When you use a tab bar, follow these guidelines:
Don’t use a tab bar to give users controls that act on elements in the current mode or screen. If you need to provide controls for your users, use a toolbar instead (for usage guidelines, see “Toolbar”).
In general, use a tab bar to organize information at the application level. A tab bar is well-suited for use in the main app view because it’s a good way to flatten your information hierarchy and provide access to several peer information categories or modes at one time.