IOS: How to make a tab bar on the left on iPad - objective-c

I've seen many apps creating a side bar on the left like the image above. Apparently this is not a split view controller since the size is fix for that.
Anyone know how to do it? May I get some directions or advice on this?

It is shown in this tutorial, how you can implement that kind of "custom side Tab Bar", he did a video about it too.

That can be done simply by adding to your main view a UIView with a "vertical" frame, e.g. (0, 0, 44, screenHeight). That view should be then populated with all the icons you need...
There is nothing more to it, as far as I can see.

You can't use the default UITabBarController from iOS. You will need to do your custom tab bar. You could use an UIView with some UIButtons added as subviews.

Related

How do I fix empty 44px space in iOS7 view with ViewDeckController?

I am in the process of transitioning an app to iOS7. All of the views throughout the app have a 44px empty space at the bottom that appears to be for a bottom toolbar or something, but I am not trying to display a bottom toolbar. This space also exists on views that do have a bottom toolbar and the toolbar just shows directly above it.
The red space shown is actually a view behind the black view. No matter what size I set the frame of the black view to, the red space is always shown. I am also hiding the status bar in plist, so don't know if this is an artifact from that or if it has something to do with navigation bar as they are both normally 44px in height.
I have looked at the transitioning guide and haven't found anything that's worked. Any ideas to what could be causing this and how to fix?
UPDATE:
I have tried setting edgesForExtendedLayout = UIRectEdgeAll and extendedLayoutIncludesOpaqueBars = YES (also tried NO) with no effect. When I look at the subviews of the navigation controller it shows a UIToolBar as hidden, but shows it contains a frame in the exact area the view refuses to resize to even with autolayout constraints.
UPDATE 2:
This is actually a problem with ViewDeckController (https://github.com/Inferis/ViewDeck) and the way it sets it's center view bounds.
I believe it has to do with the UINavigationBar. Try toggling the following options in Storyboard and see if it solves the problem. Namely, the 'Extend Edges' options:
These options can also be set in code with the edgesForExtendedLayout and extendedLayoutIncludesOpaqueBars properties on UIViewController.
If you are transitioning to iOS 7, you should be using an Auto Layout constraint to anchor to the Bottom Layout guide. Control drag from your view to the Bottom Layout guide and choose Vertical Space from the popup menu.
Using frames in iOS 7 is harder and is the way of the past.
Auto Layout is hard to grasp at first, but it is very powerful once you get the feel.
This is actually a problem with third party library ViewDeckController (https://github.com/Inferis/ViewDeck) and the way it sets centerViewBounds for IIViewDeckControllerIntegrated. I was able to figure it out after changing to IIViewDeckControllerContained and seeing the view sized correctly.
In IIViewDeckController.m, just return self.referenceBounds for iOS7 like it does for IIViewDeckControllerContained.

How to make the UIView function like UIScrollView (Objective-C)

I have a class named Topic. And inside that topic I can create (and delete) Messages. I need to show the messages in a view that can be scrolled/swiped either right or left (Right to show the older messages, and left to go back to the newer messages). Imagine an image collection that can be scrolled sideways in a ScrollView, that how this should look like. Since the messages is being add by the user, I can't use UIImage. I am thinking of the approach that I need to add use UIView instead of a ScrollView, now my problem is how can I make my UIView function as a ScrollView in terms of displaying data?
please help. Thanks.
You should have to use gesture recognition. Check that user is swiping left or swiping right. after Identifying that you can change UIView with animation. I hope you can get me. This can be useful to you.
You should be able to achieve what you want by enabling paging on the scroll view, by setting the following property to YES as shown:
scrollView.pagingEnabled = YES;
This will make the scroll view scroll one page at a time.

Vertical UINavigationBar in iPad application

I am developing an iPad application and I would like to have a vertical UINavigationBar ( in the left of my view), is this possible to do? How I can i do this? Thanks.
You can't do this, instead you can use UIImage with same look like UINavigationBar and Button and place them vertically.
I think you're talking about one similar to the one tweetbot implements. If so you're going to have to create your own using images & a view, or rotate your navigation bar. Or you can check FSVerticalTabBarController and edit it to your needs.

UINavigationBar : customized button?

I want to make a navigation bar looking like BRED's application :
But I don't know how to remove the border and the bottom of the bar button.
Thank you for your advices
If iOS 5 or greater check out the UIAppearance API. Otherwise, there are a bunch of resources on SO to customize the nab bar, including this one. There is no way to just remove the border, you will have to create it from scratch.

Is there another way than presentModalViewController to show a UITabBarController on just part of the screen?

I have a UITabBarController displaying a number of settings-screens in my app. I want them to be shown on just a part of the screen for layout reasons. In fullscreen, the lists become unreadable (too wide), there are just a few controls per page making the page feel very empty, and the tabbar buttons are far away from the content (Fitts law).
Using presentModalViewController with the UIModalPresentationFormSheet style gives me the size I want. I do this on top of an empty background, since in my case it doesn't make sense to display anything behind it. The "real" working area is displayed with another presentModalViewController in fullscreen mode on top of it all.
This works but feels like a hack. One problem is, I can't make the background behind the settings dialog move in the transition to fullscreen with the UIModalTransitionStyleFlipHorizontal style.
TL;DR
Can I embed a UITabBarController non-fullscreen in another "background"-view? I can't find any information of how I would do this.
Can I embed a UITabBarController non-fullscreen in another "background"-view? I can't find any information of how I would do this.
Why don't you try it out?
Create a container view of the size you want the tab bar controller to have.
Create the tab bar controller.
[containerView addSubview:tabBarController.view];