customize tab bar (need a guidance) - ios

I saw some app have the following tab bar:
I summarize the above tab bar with following characteristics:
showing on top
not fully occupy the full screen width
Inside an navigation controller
(I am using xcode8 + swift3)
I would like to implement the same thing, but I don't know how to do it (I know how to implement default tab bar showing at bottom & occupy full screen width). Could someone please guide me or provide a tutorial link how to implement this thing? Thanks!

This is a UISegmentedControl and not a tab bar.
Read more about it here https://developer.apple.com/documentation/uikit/uisegmentedcontrol
Here is a link on how to use it https://www.ioscreator.com/tutorials/segmented-control-tutorial-ios10

Related

Can't add tab bar to iPad app using storyboard

I have an iPad app using a tableview/details configuration. I want to embed this in a tab bar controller. I am following several tutorials to add a tab bar controller in storyboard, but my results are not the same as in the tutorial:
I am not given the first tab bar item to edit; neither in the storyboard nor in the file tree.
My segue icon between the tab bar controller and the navigation controller is a slanted icon, not the horizontal segue icon I see in the tutorial.
The new tab bar does not appear at the bottom of my table view.
Please, what am I missing? (I wish I could post a screen shot, but alas I don't have the reputation!)
Thanks in advance,
Steve
Here's a video from YouTube that explains it. It's pretty straightforward.
https://www.youtube.com/watch?v=NFTcR9H-OYQ

iOS. Navigation controller toolbar - customize example

I'm newbie with Xcode, I'm learning it and trying to make my app.
Now I would like to put Navigation Bar func at the bottom of the screen with some customize.
I turn on "Shows Toolbar" at Navigation Controller and put my button there, but I cannot customize it.
Everything that I found about customizing Navigation Bar at the top of the screen or about customizing TabBar when people are talking about bottom of the screen.
Please, can you give me a code examples to build something like this at the bottom of the screen:
https://dl.dropboxusercontent.com/u/1338320/nav.png
Thanks in advance!
I'm not sure what you are trying to customize (button or bar) but when there is a bar at the bottom of the screen that is not a tab bar it is a tool bar not a navigation bar. The two are related but they each have their own class. Tool bars use UIToolBar not UINavigationBar. The tool bar is independent of the navigation controller and the two work together well. For any views that don't want a tool bar just set it to hidden in -viewDidAppear: (you will need to un hide it in views that use it).
dimimpou is right. You can accomplish this by using a UITabBarViewController and one UIBarButtonItem for "ADD ONE" and "MY STATS".
If you get lost in references(I sometimes get lost too), I may provide a simple example.
Note that if the interface provided by UIKit doesn't meet your need you can:
Use category over UITabBar or UITabBarItem.
If 1. doesn't work sadly you'll have create your own view controller which is simulate UITabBarViewController(requires some time, but it's worth)
Edit:
You can use a UINavigationController inside a UITabBarViewController.
You can easily do this. The way I understand it, you want this "Toolbar" to show from a button in the navigation bar. Just put a tab bar with what you need and make it show when the user presses the button on the navigation bar. on this buttons action put this code: self.tabBar.hidden = NO; and on the storyboard uncheck the bar visibility option. Hope it helps!

iOS Navigation Bar VS UIToolBar

According to Apple's "Human Interface Guidelines" - Navigation bars should only have one other button (apart from the standard back button)
All this is fine, but there are several apps which have numerous buttons on the top Navigation bar, such as the Facebook app (Image)
My question / discussion arises from here. . .
1) Would apple accept the use of a UIToolBar in place of a Navigation bar (with a custom "back" button", which would act as a replacement for the Navigation Bar:
2) Is this how Facebook would have achieved their top bar?
3) IF I could use a toolbar instead of a Navigation Bar, i would have a small space at the top where the toolbar would overlap the "status bar" - how should i overcome this issue? -
- would placing a A UIView, in that position with an embedded Toolbar be the correct solution to this issue?
All your help / comments / guides are very much appreciated
You don't have to show the navigation bar, it can be hidden (see setNavigationBarHidden:animated:). You can use UIToolbar instead but there are a lot of options for customizing the navigation bar.
You can set the leftBarButtonItem, the titleView, or the rightBarButtonItem to be a custom view as specified in the UINavigationController class reference. Those properties take a UIBarButtonItem but that doesn't have to be a button. You can create a UIBarButtonItem using initWithCustomView: to create a UIBarButtonItem with any UIView. It can be a UIView that has multiple buttons as subviews or a search bar or segmented control or whatever views you need as long as they fit and don't violate the HIG. You can do that with any of the 3 custom views on the navBar.
1) Would apple accept the use of a UIToolBar in place of a Navigation
bar (with a custom "back" button", which would act as a replacement
for the Navigation Bar:
My advice, when faced with a "should I possibly violate the specification by working around it and hoping they don't mind" decision, is "no". Are you willing to spend the time to change the code to the meet the spec if they don't accept it?
2) Is this how Facebook would have achieved their top bar?
I'm not sure this is answerable.
3) IF I could use a toolbar instead of a Navigation Bar, i would have
a small space at the top where the toolbar would overlap the "status
bar" - how should i overcome this issue? - - would placing a A UIView,
in that position with an embedded Toolbar be the correct solution to
this issue?
I created an App with a Tool Bar AND a Navigation Bar. See the screen shots (Review page) here. The Tool Bar is at the top, beneath the navigation bar. At one point, I added a feature to make a tap on the navigation bar hide/show the tool bar. But since the longer displays came out, I have removed it. Most users don't really seem to mind the extra small hit at the top as long as the display provides the information they need.
Was this helpful?
1) Probably. I've not seen or heard of an example of Apple bothering to reject an app that used a toolbar rather than a navigation controller. However, you may get a reviewer having a bad day that decides to reject your app for that reason; it's really impossible to know for sure, but unlikely. I will say that I've submitted an app that looks similar to apps with a navigation controller but the top bar is custom, and it was accepted.
2) The Facebook top bar is most likely totally custom. You can see that the transparency effect is unlike the standard navigation bar's transparency, and the layout is not similar to any standard apple control.
3) Align your top bar (however you do it) with the topLayoutGuide in interface builder (or in code).

Linking custom iOS buttons to footer nav buttons

Im going to say this straight up - I'm an xcode noob. I am designing an app which has custom buttons on the home screen as well as a footer nav with buttons. When I select the custom button it goes to the right view but the footer nav button is not highlighted.
I just need to find a way to tell the footer nav i am on that section (got their by clicking on the home button). Apparently i have been told there is no way to do this so i might as well scrap my home view custom buttons. I'm hoping to find someone here with a different view. I would provide a screenshot so it makes my explanation clearer but i have not got a high enough rating.
Originally i just wanted to hide the nav bar for the home screen but i was also told that it was not possible. Its there the whole time or not at all. Looking for a second opinion...
Use the following code to hide navigation bar
self.navigationController.navigationBarHidden=YES;
Also, just wanted to confirm, when you say footer navigation buttons, do you mean a tabbed view? some thing like this screenshot?
If you could provide some screenshots would be great.

iOS Text Navigation Bar

I want to build a navigation bar in iOS 5 with text only items.
How to build this kind of navigation bar?
I don't khow what I need: a scrollview (horizontal) with... Is it possible to do that with the Tab Bar Controller?
Thanks.
Check this snapshot: http://www.eazyrf.com/Snap2.jpg
A quick search on google returned a couple of results:
UIScrollView Menu bar - You've got the right idea with the
UIScrollView, this will point you in the right direction.
UITabBarController Menu bar - Here is another example of how you
can make a custom UITabBarController
These should be a good place to start. Good luck!

Resources