How to make launchscreen.storyboard support portrait and landscape - ios

I use LaunchScreen.storyboard as my launch image. It works ok when the devices are portrait. When i launch the app on landscape mode on ipad or iphone7 plus whe image was stretched.How can i use two different image for portrait and landscape mode.
Thank you.

You can set another image based on the size class traits. Unfortunately this does not help with left and right landscape rotation (you can only have an image for one of them). Also it is kind of base on the fact that for current iPhones landscape can be detected by having a compact height trait. This may change in future.

Related

How do you set up 'image sets' to match launchImage files for all devices?

NOTE: This question is NOT related to launch image storyboards.
INFO: BG Buddy is a landscape only app. The launch screen uses images in a launchImage.xcassets file.
The launch image transitions to a UIViewController containing a full screen UIImageView with the same BG Buddy Background image as used in the launch image, and some textual UIButtons. This gives the impression that the buttons appear on top of the background image after a short time when the app has loaded.
Here is how the BG Buddy Background image set has been set up since the app’s release. Transitions from Launch Image to UIViewController work perfectly on iPad, iPhones 5,6,7,8 and 6,7,8 Plus.
The iPhone X and the iPhone Plus both seem to use the iPhone 3x image slot but both have very different dimensions. I’ve opened up the other size classes slots and tried to find a place with much confusion and no success. NOTE: All iPhones apart from the iPhone Plus use compact width/compact height size classes when in landscape. The iPhone Plus uses regular width/ compact height in landscape orientation.
So how do you set up 'image set' files to match launchImage files for all devices?
At the moment I can either have a good iPhone X transition or a good iPhone Plus transition but not both.
Is my only option to try to detect if it’s an iPhone X (or iPhone Plus) and swap the images programatically?
So here's the solution for a landscape only app. Hopefully it will help a little for portrait orientations too. Landscape bespoke launch images should be placed as shown with these width/height class settings.
Use the launchImage.xcassets screenshot at the top of the question to set up your launchImage.xcassets.

Splash screen requirement iOS app - Portrait

I am developing an iPhone app in Xcode 7 which will only open in portrait mode. My question is do I need to provide the launch/splash/default screen also for landscape mode or providing it in the various portrait mode sizes will be sufficient?
I think adding only the portrait ones should work for you. Hope you are using xcassets for managing splash screens. There, You can select the orientations and devices which you want to support. Here is a screenshot.
NOTE: This is from Xcode 6.4. Hope it's something similar in Xcode 7.
Design the LaunchScreen.xib file to look as your desired splash screen. Set proper constraints to your design elements/views. And thats it! It will appear as expected on any orientation.
For example:
If you want your app logo to appear in the center on app launch as splash screen, set your logo in a image view at center, give constraints for horizontally centering, vertically centering and height and width constraints. Now run the app by keeping simulator in various orientations and your launch screen will appear same in all orientations.

Manage orientation landscape and portrait both in a app iPhone

According to my client's requirement I want to set Splash Screen orientation in landscape(right) then the orientation will come in portrait.. any idea how can I implement it?
Just rotate your splash image in an external editor so that is gets displayed in a landscape mode.
Just because you perceive it as landscape doesn't mean it's actually not "rotated portrait".
See your Splash Image will look like this:
Just rotate your image the way you want it to look like...
The iPhone only has a single splash screen, no matter which orientation it launches in. The iPad on the other hand will display a different splash screen image in portrait and in landscape mode.
If your iPhone interface supports both portrait and landscape then you must decide which way round you'd like to display that splash screen image. As Kanan says, design your landscape image (say in Photoshop), then rotate the canvas so that the image is portrait (but the content is still landscape).

Do you need a landscape iPad launch image for app thats just portrait

I have made me app so that device orientation is portrait only, however there it still has a place to put landscape launch image. Will I have to have one? If so can I just have a rotated version of the portrait one (i.e. this will be sideways if the device is held in a landscape manner)?
You don't need to have a landscape default image even if you do support landscape.
If you are only in portrait, then a single image will do.

Universal app and landscape orientation for iPad

I want to design a universal app that I'd want to support just portrait orientation. It's weird because Xcode allows you to select portrait orientation only in the target's Deployment Info settings (and in Info.plist), but reading the iOS Human Interface Guidelines, in the section regarding the launch images, I've found this:
You must provide at least one launch image. Typically, an iPhone app includes at least one launch image in portrait orientation; an iPad app includes at least one launch image in portrait orientation and at least one launch image in landscape orientation.
Does that mean that you have to provide a launch image in landscape orientation even if you only support portrait orientation? Or is it required to support landscape orientation in iPad?
Thanks
EDIT: It looks like it is not required to support both portrait and landscape orientations in iPad, though strongly recommended. However, it looks like, if an orientation supported, also the opposite one should be (portrait and upside-down, for instance). Is it required then to provide both launch images? (portrait and upside-down). Thanks again
It is strongly recommended that your application support all orientations. This includes portrait, portrait upside-down, landscape left and landscape right. iPad apps that require an orientation must support both variants of that orientation.
https://developer.apple.com/library/ios/qa/qa1588/_index.html

Resources