How can I implement the new iPad-like landscape mode on iPhone 6 plus - ios

Apple has introduced a new iPad-like split view in landscape mode for iPhone plus, which help users take advantage of their larger screen.
I have designed an universal iOS app which uses UISplitViewController to show detail and master view in iPad, and uses UINavigationViewController to show the TableView in iPhone.
Now that we have iPhone plus, how can I implement the new iPad-like landscape view while I am using UINavigationViewController as the main structure in iPhone.

You might want to take a look at the "Building Adaptive Apps with UIKit" video on https://developer.apple.com/videos/wwdc/2014/
De basic idea is that the split view controller is used on iPhone and iPad. But when it detects that the device has a "Compact" horizontal size class it pushes the detailview on top of the master view, whereas with a "Regular" size class it shows the detailview next to the master view.

Related

UITabBar image incorrectly positioned on iPad when inside splitview + navcontroller

I have a hierarchy like so:
In storyboard, on iPhones (in all orientations), and when using iPad split screen with another app (see screenshot below with contacts side by side) this all works great.
However, when the iPad app has the full screen, my tab bar images are horizontal instead of vertical.
Anyone know of a way to force the tab bar to change the orientation of it's images so it's vertical? It's almost like the OS doesn't recognize that it should be using the compact traits for this mode on iPad.
Further details:
This is an iPad 9th Gen simulator on iOS 15.4. and is also present on a real iPad (5th gen iOS 15).
I am using SF Symbols for the image in the tab bar
I am using the technique described here so that I can have more fine grained control over whether any given view should be shown in the master nav/tab view or if it should show up in the detail view.
I am using .allVisible for the preferredDisplayMode, tried changing it to primary over with no luck.

IOS splitviewcontroller and size classes

I Have questions on SplitViewController.
Is possibile to make the same behavior on iPhone and iPad?
I need make on portrait master view and after clicked item show details view. In landscape I need master near details.
My issue is master as slide on iPad at portrait mode ...

How to enable UISplitViewController's preferredDisplayMode = .primaryOverlay setting for iPhone size class

I am trying to use the UISplitViewController for iPhone portrait mode (since it will use navigation controller instead).
I tried to set the UISplitViewController's preferredDisplayMode = .primaryOverlay (which let user to swipe in/out master view from the left). However, this setting only works for iPad and Plus. iPhone still keep using navigation controller, ignoring my setting.
My question is - how to use UISplitViewController for iPhone? I see that Outlook iOS app can do this so it should be possible.
Thanks.
The UISplitViewController only works on iPads. On iPhone it acts like a master/detail view controller. If you want that UI style for iPhone you'll have to implement it yourself.

Can my app support Split View on the iPad Pro, but not the iPad Air 2?

(Note that this question refers to the Split View multitasking introduced in iOS 9, not the Split View Controller.)
Our app's user interface is relatively restricted, and wouldn't work well with Split View on a regular-sized iPad - we can't shrink the screen easily. However, the new iPad Pro allows you to do Split View with two full-sized iPad apps on screen at once.
Is it possible for us to support Split View under the iPad Pro (where our app will still be big enough to show its whole UI), but not under the iPad Air 2 (where the view would be too cramped to show the whole UI)?

Landscape-only IPad App With UISplitViewController

I am almost done developing an app. Right now I'm converting it to a universal app by supporting iPad to supported devices as well.
Can I set the app to use Landscape orientation only, since I am using UISplitViewController and want the Master View Controller to remain on the screen all the time? Is there any Apple policy that states that I cannot restrict it to Landscape only and I have to implement both portrait and landscape? Is there any chance my app can be rejected by setting it to Landscape only for iPad?
Don't worry, you'll be fine. Support both landscape orientations and neither portrait orientation if you want. I've got apps in the store that are like that.
However, note that UISplitViewController does have an option to keep both views on the screen all the time even in portrait. Use the delegate method splitViewController:shouldHideViewController:inOrientation: to forbid hiding the master view:
http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewControllerDelegate_protocol/Reference/Reference.html#//apple_ref/occ/intf/UISplitViewControllerDelegate
So if your only reason for being landscape only is that you don't want to hide the master view, it is a false reason. Look, for example, at Apple's Settings app, which works like that; it is a split view controller that always shows both views in all four orientations.

Resources