UI Tab Bar added to Storyboard not showing up when I build the App - ios7

I have an iOS App. I currently have an existing View Controller. I manually added a UI Tab Bar to it using the storyboard.
I added the UITabBarDelegate and implemented the corresponding functions required tabBar:tabBar didSelectItem:item.
I've also connected the delegate of the Tab Bar to the view controller itself.
However, when I build, the Tab Bar completely does not show up at all.
I know you can just use a Tab Bar Controller, but I need to add the Tab Bar to it, and use the Tab Bar to modify content of the view itself. (specifically it acts as a filter for a table view) So, it doesnt make sense to create 4 exact same Views to hook up to a UI Tab View Controller
What am I doing wrong?

I found out what's wrong.
It turns out, I had completely successfully implemented the UITabBar. What happened was that I was testing on an IPhone 4. As such, it bled out of the screen and could not be seen. Adding constraints fixed it.

Related

Navigation bar doesn't show back button

I have a navigation controller with a table full of buttons that cause various settings pages to push in. I needed to add a new one, so I copied one of my existing ones, changed the VC, and off I go.
But there's no nav bar on the screen. I can see the navigation object in the storyboard and the editor simulates it's display. I compared it to the other pages that are displaying the bar, and they look the same.
I tried changing some settings, like "Hide Bottom Bar On Push" and that had an effect, but my attempts to get the bar to show up fail.
I looked at other questions that suggested it had something to do with naming, but I've tried various name fields - on the Navigation Item, the VC's Title, etc. - with no effect.
I am not sure, but the problem may be that in case the segue to the new View Controller Scene is set to modal, it would not have a Nav Bar, To be able to see one, you need to embed that in another Navigation Controller.

Storyboard with multiple UITabBarControllers

I have the following storyboard setup:
I would expect, that the two UITabBarControllers (blue and red) connecter to the orange UINavigationController and each display the different view controller and the "shared" one. However when running the app only one of the UITabBarControllers (the red one) has both view controllers. The other UITabBarController (blue) only has one item in the tab bar, which is not the orange one.
I have given all the different view controllers unique ID's but it doesn't change anything.
I could just duplicate the orange view controller but that would sort of be inconvenient, as everything is the same and it would clutter the storyboard.
Is there a way to accomplish the desired result with out cloning the orange view controller (ie. through code somehow)?
I will list the steps as we just started a new project:
Here, we have only the starting view controller.
select it, click Editor on menu bar Embed in navigator controller.
add a view controller from the right-bottom window.
embed in with the new view controller, two tab bars.
connect the starting view controller with both of the tab bars with a push segues(using buttons).
customise both of the tab bars.
test by clicking the two buttons.
I hope this is clear and helpful.
This happened in the design time the later connected tab bar replaces some property of the previously connected tab bar. I don't think this can be fixed (at least the way we are doing it). if that property could be set to both tab bars the interface builder would do it for us. I don't think that could be solved.

Autoresizing different between ios 4.x and 5.0

Been trying to figure out why this happens for a few days.
My app is supposed to have a shared view between all screens that handles navigation. So I made a nib for the navigation with a few buttons on it and added that view to the window (which I'm told is a bad choice)
This global view stores 4 navigation controllers so that users can swap between them without losing their place (much like how a tab bar works). But it looks as if adding the view to the window has affected the way my app resizes for the in-call status bar. In 5.0 the entire app works perfectly, but in 4.0 it's completely wrong.
On 4.0 if I enable the in-call bar on a screen it will not move at all.
If I push a view controller with the in-call bar the navigation bar appears at the top, but the view appears 20 pixels lower than it should
And if I have the in-call bar enabled, push a screen, then go back, the navigation bar moves down 20 pixels (as it should), but the view stays where it is and is clipped by the navigation bar.
What is happening on iOS 5 that isn't happening on iOS 4.x that makes these changes? the app is all buggy on 4.3.
Create a "dummy" view controller (UINavigationController works well). Then add your view to that. Without using a view controller hierarchy events will not be propagated correctly.
I suspect this works on iOS 5 because of the new "container" view controller system. They have moved the system to be more lenient in these areas. I can't give a more specific answer than that without seeing your entire app navigation design.
EDIT:
Also try using the wantsFullScreenLayout property. It may help.

Bug with Tab Bar being covered by UITableView

So I have 3 main scenes, each with a tab bar item. The first scene (Account scene) contains a UITableView. Also on this scene I have a button which switches to a different scene that is NOT included on the tab bar.
ie. Account scene (which IS on tab bar) has button to link to Account Info page (which IS NOT on tab bar). This all works fine, but when I go back to the Account scene from the Account Info scene, the UITableView now is covering the Tab Bar (or the Tab Bar may have just disappeared altogether), so I can no longer access it and switch to different scenes.
Anyone else encountered something similar or know why this may be happening? If sample code is needed I can post some, but I did this mostly using storyboard.
Cheers,
Robin
Fixed. Was segue-ing to the view controller itself, instead of segue-ing to the TabBarController that handled the view. Limitation is that I can only segue back to the first tab bar view, which is kind of annoying but oh well.

How to customize tab bar controller so that tabs appear on the top of the screen?

How to customize tab bar controller so that tabs appear on the top of the screen?Tabs should not appear at bottem of the screen.
Try this,
self.tabBarController.tabBar.frame=CGRectMake(0, 0, 320, 70);
You will need to create a custom control. The standard UITabBar does not offer the option to place tabs at the top unfortunately.
Tabs should not appear at bottem of the screen.
Actually, according to the iOS human interface guidelines, they should:
A tab bar appears at the bottom edge of the screen and should be accessible from every location in the application.
If you really wanted to do what you are asking, you could use a UITabBar directly (not touching UITabBarController). That handles drawing the tab bar itself, but doesn't do any view swapping for you. You should then write a custom container view controller using the view controller containment APIs (iOS 5 only) which you set as a delegate method on your tab bar, and then when the user changes tab, you swap in and out the relevant views.
Or you could use this open source version.
Don't make your top tab bar look like a standard Apple tab bar though, because they'll probably reject it from review. If you use a completely custom look you should be fine.