Custom Tab Bar in Xcode/Swift with 3 rounded buttons detached from the bottom of the screen - ios

I'd like to create a tab bar that isn't really a tab bar. It would work like a tab bar in the way that it would send the user to other pages when clicking on it and it would always be present but the design would be different.
I would like it to be 3 buttons detached from the bottom of the screen unlike regular iOS tab bars and the button would be 3 circles with icons in it.
Is it possible to do such a thing in iOS, or does all apps really have to follow apple's standards?
Thanks a lot!

Related

Swift - how to mimic iOS's Files app expandable navigation bar

I'm working on iOS application in Swift and I'm showing a table views in Navigation Controller with a Navigation bar.
I'd like to implemented the same "Toolbar experience" as the Files app does. (see attached image) in order to present additional options/buttons without cluttering the screen (for UX purposes mostly).
I could not find anything related, expect for workaround with toolbar on top, but it does not work as part of the navigation bar, meaning that after navigation that toolbar is no following the navigation bar but instead stays on the previous controller.
The ideal behavior is:
to expand when scrolling down (requires table view to be scrolled to top) and to collapse when scrolling down.
to keep the toolbar attached to the navigation bar on navigation (push & pop)
In the screenshot, the toolbar is showing additional options (under the search bar). I'd very much like to do the same.

Is there any maximum limit to show number of bottom tabbar items in iOS?

In my iOS app I want to display more than 8 items in my bottom bar like tab bar items.
For that I have used UICollectionView like tab bar at the bottom.
But one of my friends told me that Apple will reject the app if the bottom bar has more than 5 items. Is that true?
Or does that restriction only apply to UITabBar?
Please confirm. I am using UICollectionView instead of UITabBar.
It is true. The human interface guidelines say that for a bottom bar there should be around 3 to 5 items.
Yes you can make it, but for his purpose you need to make a custom tab bar, you can't use tab bar controller,
Place a UIView on top of a controller where you see view controller and exit etc. and place a view inside it and place Image view and buttons and set constraints.

Implementing Safe Areas for Tab Bar Controller and iPhone X

What I'm trying to do: place the tab bar at the bottom of the iPhone X display where it belongs, and also put the navigation bar at the top of the display.
I've been trying to accomplish what I thought would be a straightforward task of using Safe Areas in the storyboard to position the tab bar near the bottom of the iPhone X's display. I'm missing something fundamental.
I've read a lot of writeup about how to do this, including this one. It includes a screenshot of a tab bar control scene that looks like this:
But I can't create a view inside my Tab Bar Controller to put my tab bar item in, as the article mentions. It's my understanding that I'll use the safe area of the view that should contain the tab bar item. But it won't let me put a view anywhere except outside the Controller view. I've tried using "embed" - but all options are greyed out.
Same goes for a navigation controller to move a navigation bar to the top of the display.
The funny thing is that IB renders it in the right place, but on my device, the tab bar is way above where it should be (and the navigation bar way below).
I have "Opens in" set to "Latest Xcode (9.0) and Builds for iOS 11.1 set in the scene's "Interface Builder Document", and "use Safe Area Layout Guides" is checked. I'm not using any custom classes for my tab bar controller or tab bar. I'm using XCode 9.3 and iOS 11.3.1
What's the simple thing that I'm missing? Thanks in advance.
The article explains how to adapt your app if you're using a custom navigation bar or a custom tab bar.
If you're using the standard navigation bar or tab bar then you have to make sure it's top or bottom (depending on the element) constraints are connected to the superview and not the Safe Area layout guide. UIKit makes sure these elements are correctly rendered with spacing at the top or bottom on an iPhone X device. Check out this screenshot for clarification.

Placing a share button over a uiwebview

I have an rss app that I'm working on in xcode and the articles load up in a full screen web view. I need to place a "share" button in the navigation bar but since my uiwebview is full screen it won't show up when I run the app. I even tried cropping the top of the web view lower and placing the button there but still no luck. Here is an example of what I mean:
The share button needs to be on the right side of the navigation bar but i cannot seem to figure out how that make that work.
Thanks in advance
Fist of all, your top navigation bar seems to be missing (judging by your image). Since the nav bar is missing there is no possible way that the share button will be visible. You can do this is the IB or in your code.
For your IB you can move the view controller's 'layer's' so to speak. When you place all the elements down, your VC should look something like this:
On the left hand side we can see what subviews are at the top and which ones are at the bottom.
As we can see here that the UIWebView is at the top of the list, so it'll be at the bottom of the pile. The navigation bars are further down the list so they'll be at the top of the pile. So due to this they'll go over the UIWebView.
The other way to do this is using insertSubview:aboveSubview:. Fist of all you'll add your UIWebView using addSubview: and then add the nav bar using insertSubview:aboveSubview: and finally you'll add your button the someway as you did for the nav bar, but this time you'll be adding the button above the nav bar not the web view.
My best guess is that your forgetting to add another navigation bar to the top of the screen. Hope this helps!!

Tab bar issue for iPad app

I'd like to display what looks like a vertical tab bar at left side as in, for example, Twitter app for iPad:
Is that a UISplitViewController with a UITabBar within its left side?
Is it a tab bar with vertical orientation (if that is possible, I couldn't find such property in UITabBar class...)?
Is it a custom tabBar-like control?
I've read some posts dealing with this (for instance, iOS vertical tab bar), that were written some time ago, does this issue remain the same?
Thanks!
Custom tabbar controls are available. I think this will fit with your requirements.

Resources