UISplitViewController like mail app - ios

I want to make my application similar to mail.app in vertical orientation. It should show a master view controller by button, but not in pop over and in horizontal orientation it should look like a simple UiSplitViewController.
Have you any ideas? Is there any usable open source projects which could be re-used?

Mail.app is using a standard UISplitViewController. The behaviour was changed in iOS 5 so that it no longer uses a popover, but instead slides in the master view controller from the left. Although technically I guess you can still call that a "popover".
This may be confusing because the documentation and delegate methods still refer to a popover controller, but if you create a blank split view project from Xcode and run it on an iOS 5 device or simulator, you will get the new behaviour.

Try MGSplitViewController - very useful alternative to the UISplitViewController, has some nice configuration options.

Related

How to smoothly translate view in iMessage extension in iOS 10?

I have issue when I try to push view controller in willTransitionToPresentationStyle:. The view was blinking for a split second before it fully expanded. It might be a small glitch or bug since iOS 10 and Xcode 8 are still in beta. But when I manually requested to change presentation style to MSMessagesAppPresentationStyleExpanded by calling requestPresentationStyle: after I push view controller, it went to expand mode more smoothly. Does anyone have similar issue?
I have had similar problems with transitions in iMessage apps. I think this should improve considerably when iOS 10 and Xcode 8 come out of beta, but for now we have to deal with Xcode's bugs.
There's a few things I've done to make this look better. Inside my extension I have a method that checks the presentation style every time the view changes. This method manages two different UIs - one for MSMessagesAppPresentationStyleExpanded and one for MSMessagesAppPresentationStyleCompact. This method hides and shows specific views accordingly. In my compact UI I have a button that allows the user to expand the interface by clicking it (this is basically the same as clicking the up arrow at the bottom right of the screen).
I've noticed that if you let the user expand the messages app after the view has been loaded for a while the transitions are much smoother and less buggy. Not sure why this is the case, but you should give it a try. Also, I've found segues to be extremely buggy, so that's why I went with keeping everything on one view controller.

Floating view (like in the Apple stock mail app)?

I would like to implement a floating view into my iOS app. Something like the one in Apple´s stock mail app on iPad when you write a new mail or the one you see in some apps as introduction (with the ability to be a fullscreen view on iPhone). Unfortunately, I cannot find any tutorials (maybe because I´m not sure if they´re really called "floating views"?). Does anyone know a good tutorial or a simple code fragment? thx.
The Mail compose UI on iPad is an example of a view controller being shown as a modal view. You can get this style by presenting a view controller modally using either the PageSheet or FormSheet style.
You could simply place a UIView on top of your currently showing view. If you place it correctly you should get the desired effect. The animation likely comes from [UIView animateWithDuration... or some UIKitDynamics

UISplitView equivalent on the iPhone.

I have an iPad app which I am attempting to make universal and port over to my iPhone following this tutorial. http://www.appcoda.com/ios-univeral-app-tutorial/ (feel free to post a link if you believe it will help me).
So far, I have added a new storyboard file, named it Main_iPhone.storyboard and configured my target etc. However my iPad app is a UISplitView controller, with options on the side (in the master view) which control my detailview.
What I want to know is the iPhone equivalent of this object as i was made aware it cannot be used on the iPhone. Guidance needed on this one.
Thanks.
This is a very generalized answer since I have no idea what your app does.
The rootviewController of the app should be a navigation controller. The the root controller of the navigation controller should be the view controller that is on the left side of the split view controller. I'm going to assume that is a tableviewController.
When the user selects a row in the tableview controller, push the view controller that was on the right side of the split controller.
Now you have a master-child relationship.
Another thing to consider is that with the upcoming iOS 8 release, you'll be able to easily implement iPad like master-detail views on iPhone. (the concept is size constraint classes). As a developer, you can download the new xcode beta (and osx yosemite beta) to test this out.

App starting as Single view and proceed to tabbar application

I am about to create an xcode iphone app which will lauch initially as a single view ( something like login and settings screens ) and then proceed to a tabbed bar application with multiple tabs .
how to do this -
should i create two differnet projects one single view and one tabbed application ?
and is it possible to roll two projects into one single app ?
or is there just another easier way. I have xcode 4.3 and planning to use storyboard insteaod of XIBs
rgds,
sumit
Do not start with two projects, as you'll have an incredibly difficult time integrating them into one app. This is pretty simple, but you do need to learn the basics of view controllers.
Use Storyboards, and start with a single view app, maybe inside a navigation controller. Then do a transition to a tabbed view controller.
Upgrade to Xcode 4.6.3 or 5. Look at Apple's template apps for a tabbed application and a single view app to see how the storyboards look. Then copy the storyboards in one to the other, and link them up. This is definitely possible and straightforward, but you do need to understand how each view controller works with the others.
I also faced same situation once. I made a project as single view based app. without storyboard (since I was required to build compatible apps with iOS 4.3).
Made login screen as main view controller.
On login, I presented tab viewcontroller modally.
On sign out, I dismiss tab controller and return back to login screen.
If you have any queries, just ask it :)

Multiple SplitViewControllers in iPad Application

We are creating an iPad application that uses multiple SplitViewController. From the Apple documentation I understand that the SplitViewController needs to be the rootViewController of the window.
Does anyone have any experience or suggestions on how to create a navigation scheme that switches between multiple SplitViewControllers?
Its seems that this is not a supported design. We have since decided to use one SplitViewController at the root, and swap out it's views when the screen changes. This seems to work pretty well.

Resources