Tab Bar Controller Position - ios

I am new to iphone development.I want to know about Tab Bar Controller's position. is it convention or a rule to place the tab bar controller at bottom?

I'm not certain about your implementation, but using a UITabBarController is the standard way to implement tabs. UITabBarController's tab bar is at the bottom of the view, and this is what iOS users are accustomed to. This will make your apps more consistent with the platform and because of this users will be able to navigate your app intuitively. There are definitely cases where tabs appear at the top (for example, if a view needs tabs but is already in a tab controller). Either way, you are free to put them where you like and Apple won't likely care as long as you are following the Human Interface Guidelines.

Related

Dual TabBars in StoryBoard IOS

I've seen that there isn't any possibility of adding a custom tab bar in TabBarController in StoryBoard of IOS. However a single tabBar can contains multiple buttons. But I want to design two tab bars (first one on top and second one on bottom of storyboard) and the content I want to see in the middle of both tabBars. How can I design my custom tabBars using storyboard?
I'm currently designed in xib but I want to get rid of the xib and have to design an autolayout tab bars on storyboard and to avoid remove sub views again and again when each button is called.
Is it possible to design dual tabbars in storyboard?
You can't have 2 tab bar controllers at the same time. The tab bar controller won't allow it, and Apple would very likely reject your app if you created that look yourself. It sounds like a really bad user interface, frankly.
That said, if you want to create an UI with a normal tab bar on the bottom of the window and another thing that looks and acts like a tab bar at the top, you could create a custom parent view controller class and implement your "top tab bar" look yourself, then use that custom view controller as one of the tabs in your tab bar controller. However, I'd bet money that Apple would reject such a thing as a violation of the HIG (Human Interface Guidelines).

What approach should i use when making tab bar application

I'm started to work at new place as iOS programmer. I joined existing project and got an assignment that i don't really know how to approach.
So my problem is this: when you press a button, next window has to have a tab bar with four icons, this means four different navigation stacks. Its not that hard to make, but in main screen i have more then four icons, and if i press any one of them next window always has to have a tab bar with four static icons, like shortcuts or something.
So what should I do? Does anyone had the same situation? I want to start with a good advice to save trouble later on.
You should probably rethink the app design. Tapping an item on the tab bar shouldn't result in a different number of tab bar items, as it leads to an unstable and unpredictable UI.
While not the most efficient in terms of visible content, you could introduce a segmented control (or a similar custom view) on top right under the navigation bar (if there is one), as seen in the Facebook app (though here it is used to perform actions, not changing views).
Your root view controller should be embedded in a navigation controller. Then push a view controller which contains any number of tab bar items not TabBarController. Then you can present each view controller either push or custom.

Make More button in tabbed bar application slide out in iOS

This is a simple question. So I have a tabbed bar application with a More... tab button. I was wondering if it's possible to make the More... button be a slide out menu button? I found tutorials on how to do it on a regular app design but things get a little more complicated when it comes to the tabbed bar application.
The thing is that you don't own the More button in the tab bar of a UITabBarController, so you can't control what happens. (You can access the navigation controller that appears when the More button is tapped, but it's still going to be just another view controller whose view is displayed above the tab bar.) If you want to write a new interface you'll have to write a whole new interface, i.e. don't use the built-in UITabBarController. That's no big deal; it isn't doing anything you can't manage to do yourself.

Single navigation bar in iOS tabbed app

I'm doing iPhone tabbed application, but I need to use navigation bar also (just for app title and single icon for Settings in the corner) like twitter did: link. I have 4 tabs in my app too. I was wondering is there any chance to create only one navigation bar, so when I want to change it, I will change it only in one place?
I was looking at this tutorial, but there are two "Navigation Bar" objects. And I would like to have single object that will appear in every tab.
Right now I created tabbed app and manually added navigation bar item into first tab. Then I copied it into others. It works ofc, but I'm not sure about that solution:/
Your use of separate navigation controllers for each tab isn't a bad solution.
Setting up the navigation bar and its items in only one place is also a good idea. To achieve this, you could always have your view controllers derive from a custom view controller that overrides navigationItem.

iOS UINavigationBar vs UIToolbar vs UITabBar

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?
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.
To quote big brother:
Tabbar
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
Toolbar
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.
You should take a look at the Mobile HIG (Human Interface Guidelines) for these questions.
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.
Toolbars:
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".
Note:
If you come here and find that any of the links are broken, just search on "Human Interface Guidelines" to find the current documentation.

Resources