Splash / Launch Image getting stretched in landscape mode on iPhone - iphone

I am facing an issue in my Application .
Splash / Launch Image getting stretched in landscape mode on iPhone
Right now while launching the Application in Landscape mode, the Launch Screen comes in Portrait mode and later after a few seconds,it changes to Landscape mode and then it gets stretched so only a part of the image is seen that also stretched.
Waiting for a favorable reply.
Thanks,
Jitendra Bhagat

You need to use separate splash screen image for both the orientation.
For iPhone 6:
750 x 1334 (#2x) for portrait
1334 x 750 (#2x) for landscape
For iPhone 6 Plus:
1242 x 2208 (#3x) for portrait
2208 x 1242 (#3x) for landscape

Related

how/where do Xcode 6 launch screen sizes correspond to Apple docs?

I am sure this info is somewhere but I can't find it, and the Apple Developer hotline seems to have no idea what I'm talking about. In the assets library for launch screen in Xcode, there are slots labeled:
iPhone Portrait ---> Retina HD 5.5 & Retina HD 4.7
iOS8
iPhone Portrait ---> 2x & Retina 4
iOS 7, 8
iPhone Portrait ---> 1x, 2x & Retina 4
iOS 5, 6
I had launch screens prepared and I have the sizes for these individual files, but I don't see how their sizes correspond to these Apple labels within Xcode. Moreover, the Apple docs here (https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Appendices/Properties.html#//apple_ref/doc/uid/TP40011225-CH26-SW1 which is what Apple Developer referred me to) just refer to iphone 6 and 6s sizes, which doesn't correspond to the Xcode label organization.
This seems like it should be a 1 minute query. What am I missing and where is this super basic information?
If you select the image "slot" in the asset catalog and show the Attributes inspector (on the right-hand side), it will show (among other things) "Expected Size" for each image. Doing that, it looks like:
iPhone Portrait iOS8 Retina HD 5.5: 1242 x 2208
iPhone Portrait iOS8 Retina HD 4.7: 750 x 1334
In the Attributes inspector, you can also choose which "slots" you want included via a series of checkboxes.
Documentation-wise, see the Icon and Image Sizes section of the iOS Human Interface Guidelines.
Paraphrasing from there:
iPhone 6 Plus: Use a Launch File
iPhone 6: Use a Launch File
iPhone 5: 640 x 1136
iPhone 4s: 640 x 960
iPad (#2x): 1536 x 2048 (portrait), 2048 x 1536 (landscape)
iPad (#1x): 768 x 1024 (portrait), 1024 x 768 (landscape)
Also see the Launch Images section, which says:
Although it’s best to use a launch file for iPhone 6 and iPhone 6 Plus, you can
instead supply static launch images if necessary. If you need to create static
launch images for these devices, use the following sizes:
For iPhone 6:
750 x 1334 (#2x) for portrait
1334 x 750 (#2x) for landscape
For iPhone 6 Plus:
1242 x 2208 (#3x) for portrait
2208 x 1242 (#3x) for landscape
It's worth noting that if you're only supporting iOS 8, you can just use a launch XIB or Storyboard and you don't need to worry about particular images sizes. The Launch Images section has information on that.
My most recent app update (which is iOS 8 only) is using XIB files (one for iPhone, one for iPad) and it works great.
Retina HD 5.5 - 1242x2208
Retina HD 4.7 - 750x1334
Retina HD 5.5 landscape - 2208x1242
2x - 640x960
Retina 4 - 640x1136
1x - 320x480
default 320x568
default#x2 640x1136

Keyboard issues in iphone 6 and 6 plus during orientation changes

I have an app which has one viewcontroller which works for both landscape as well portrait mode, Now when app goes to the landscape mode and coming back to portrait, the keyboard doesn't appear at all until app quits.
The issues is not related to iOS 8.0 for sure, because it works well in iPhone 5S with iOS 8.0 but it doesn't work for iPhone 6 and 6+. Also checked the keyboard frame and its shows correctly, but the keyboard doesn't show up. Any suggestion would be of great help.
Or is there a way i can force the keyboard to show up.
Did you try adding Launch Images for both the iPhone 6 and 6+? Without specific Launch Images for the 2 new device resolutions, the app will basically pretend that the width is still 320px and just stretch everything out to fit the bigger screen. I have seen this cause many strange problems with the keyboard on iPhone 6 and 6+ devices, and it sounds like this may be the underlying issue here as well. Here are the Launch Image resolutions you need for both devices:
For iPhone 6:
750 x 1334 (#2x) for portrait ---
1334 x 750 (#2x) for landscape
For iPhone 6 Plus:
1242 x 2208 (#3x) for portrait ---
2208 x 1242 (#3x) for landscape

Launch splash screen in Landscape mode for iPhone 5

Our universal application is in Landscape mode only. We need to add a splash screen for iPhone 4 & iPhone 5.
For iPhone 5 in Portrait we use Default-568h#2x.png. How to set a launch screen in Landscape for iPhone 5?
According to Apple's Documentation : Providing Launch Images for Different Orientations
,
Each orientation-specific launch image must include a special modifier string in its filename. The format for orientation-specific launch image filenames is as follows:
<basename><orientation_modifier><scale_modifier><device_modifier>.png
Eg :
1) Default-Portrait.png
2) Default-PortraitUpsideDown.png
3) Default-Landscape.png
4) Default-LandscapeLeft.png
5) Default-LandscapeRight.png
Note : These modifiers are supported for launch images used in iPad apps only.
So you have to change your Image according to the Orientation for iPhone 5.
Two ways to do that :
1) Rotating the Splash Image to 90 Degree.
2) Inverting the Dimensions (320 * 480 -> 480 * 320).
to provide a landscape launch image you must create the image.. and just rotate it 90 degrees in an external image editor
Very simple
make design on splash screen in landscape mode .
and just make splash screen as you do in portrait .
user automatically make phone landscape when he/she see screen is in landscape :-)
From Apple doc, landscapes launch screens are supported for iPad only.
For iPhone and iPod Touch, you need to create a portrait launch screen that can be your 90°-oriented landscape launch screen. I would apply a clockwise rotation rather than a counter-clockwise rotation (ie so that on a desktop, you need to bend your head on the right to see the image with the correct orientation).
use these macros in pch file
#if IS_iPAD
LaunchImage=iPad.png
else
LaunchImage=iPhone.png

splash (launch image) in landscape mode?

I am developing a game which works only in landscape mode. When I import a launch image (Default.png) into my xcode proj and run it, the image appears in portrait mode and then the view starts in landscape mode. How can I make my splash/launch image be displayed in landscape mode only?
First thing is no one is gonna know from outside the application that application is gonna run in portrait or landscape.
If at all you still want to view the splash screen in landscape mode you have to design the image in such a way as we cannot change the behaviour of the splash screen.
Instead of designing the image as 320X480, design it as 480X320 and your problem will get solved.
hAPPY cODING...
Always create 320x480 and 640x960 sized pictures. Just name them Default.png and Default#2x.png. As Michael Kessler notes, to have them appear in landscape, you have to rotate the graphics in your gfx editor.
I quote Apple docs as they look as of now:
iPhone and iPod touch
Portrait 320 x 480 pixels, 640 x 960 pixels (#2x)
Landscape Not supported
iPad
Portrait 768 x 1004 pixels, 1536 x 2008 pixels (#2x)
Landscape 1024 x 748 pixels, 2048 x 1496 pixels (#2x)
http://developer.apple.com/library/ios/DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12
So you can see that landscape orientation of images are not supported for iPhone/iPod.

What are the sizes used for the iOS application splash screen?

I am developing an application using the iOS SDK. I need to know what Default splash screen sizes I need.
2018 Update - Please don't use this info !
I'm leaving the below post for reference purposes.
Please read Apple's documentation Human Interface Guidelines - Launch Screens for details on launch screens and recommendations.
Thanks
Drekka
July 2012 - As this reply is rather old, but stills seems popular. I've written a blog post based on Apple's doco and placed it on my blog. I hope you guys find it useful.
Yes. In iPhone/iPad development the Default.png file is displayed by the device automatically so you don't have to program it which is really useful. I don't have it with me, but you need different PNGs for the iPad with specific names. I googled iPad default png and got this info from the phunkwerks site:
iPad Launch Image Orientations
To deal with various orientation options, a new naming convention has been created for iPad launch images. The screen size of the iPad is 768×1024, notice in the dimensions that follow the height takes into account a 20 pixel status bar.
Filename Dimensions
Default-Portrait.png * — 768w x 1024h
Default-PortraitUpsideDown.png — 768w x 1024h
Default-Landscape.png ** — 1024w x 748h
Default-LandscapeLeft.png — 1024w x 748h
Default-LandscapeRight.png — 1024w x 748h
iPad-Retina–Portrait.png — 1536w x 2048h
iPad-Retina–Landscape.png — 2048w x 1496h
Default.png — Not recommended
*—If you have not specified a Default-PortraitUpsideDown.png file, this file will take precedence.
**—If you have not specified a Default-LandscapeLeft.png or Default-LandscapeRight.png image file, this file will take precedence.
This link to "Apple's Developer Library" is useful, too.
As of July 2013 (iOS 6), this is what we always use:
IPHONE SPLASH
Default.png - 320 x 480
Default#2x.png - 640 x 960
Default-568h#2x.png - 640 x 1096 (with status bar)
Default-568h#2x.png - 640 x 1136 (without status bar)
IPAD SPLASH
iPadImage-Appname-Portrait.png * 768w x 1004h (with status bar)
iPadImage-Appname-Portrait#2x.png * 1536w x 2008h (with status bar)
iPadImage-Appname-Landscape.png ** 1024w x 748h (with status bar)
iPadImage-Appname-Landscape#2x.png ** 2048w x 1496h (with status bar)
iPadImage-Appname-Portrait.png * 768w x 1024h (without status bar)
iPadImage-Appname-Portrait#2x.png * 1536w x 2048h (without status bar)
iPadImage-Appname-Landscape.png ** 1024w x 768h (without status bar)
iPadImage-Appname-Landscape#2x.png ** 2048w x 1536h (without status bar)
ICON
Appname-29.png
Appname-29#2x.png
Appname-50.png
Appname-50#2x.png
Appname-57.png
Appname-57#2x.png
Appname-72.png
Appname-72#2x.png
iTunesArtwork (512px x 512px)
iTunesArtwork#2x (1024px x 1024px)
For iOS7 create launch images in the following sizes:
For iPhone 5 and iPod touch (5th generation):
640 x 1136 pixels
For other iPhone and iPod touch devices:
640 x 960 pixels
320 x 480 pixels (standard resolution)
For iPad portrait:
1536 x 2048 pixels
768 x 1024 pixels (standard resolution)
For iPad landscape:
2048 x 1536 pixels
1024 x 768 pixels (standard resolution)
See iOS 7 Design Resources > iOS Human Interface Guidelines > Launch Images
UPDATE 1
For iPhone 6:
750 x 1334 (#2x) for portrait
1334 x 750 (#2x) for landscape
For iPhone 6 Plus:
1242 x 2208 (#3x) for portrait
2208 x 1242 (#3x) for landscape
UPDATE 2
For iPhone X:
1125 x 2436 (#3x) for portrait
2436 x 1125 (#3x) for landscape
You can make them 1024 x 768. You can also check "Status bar is initially hidden" in the plist file.
Update 2020 - Xcode 11
In Xcode 11, you can provide only one image with 1x, 2x, and 3x scales then set it in LaunchScreen.storyboard to fill up the screen and everything goes well!
For Example: (1242pt x 2688pt #1x)
This is the portrait screen size of iPhone 11 Pro Max which is the large iPhone screen size yet so it will give you high-quality splash screen on all iOS devices.
Update 2019 - iOS 12
I have collected all sizes needed for the splash screen. All u need is to just drag images with these sizes and drop them, Xcode will place each size in the right place.
Good luck.
Sizes :
320×480
640×960
640×1136
750×1334
768×1004
768×1024
828×1792
1024×748
1024×768
1125×2436
1242×2208
1242×2688
1536×2008
1536×2048
1792×828
2048×1496
2048×1536
2208×1242
2436×1125
2688×1242
Note
Count of required images are 26 images
but there are 6 duplicated sizes
so u will find the above sizes are only 20.
Here I can add Resolutions and Display Specifications for iphone 6 & 6+ size:
iPhone 6+ - Asset Resolution (#3x) - Resolution (2208 x 1242)px
iPhone 6 - Asset Resolution (#2x) - Resolution (1334 x 750)px
iPad Air / Retina iPad (1st & 2nd Generation / 3rd & 4th) - Asset Resolution (#2x) - Resolution (2048 x 1536)px
iPad Mini (2nd & 3rd Generation) - Asset Resolution (#2x) - Resolution (2048 x 1536)px
iPhone (6, 5S, 5, 5C, 4S, 4) - App Icon (120x120 px) - AppStore Icon (1024x1024 px) - Spotlight (80x80 px) - Settings (58x58 px)
iPhone (6+) - App Icon (180x180 px) - AppStore Icon (1024x1024 px) - Spotlight (120x120 px) - Settings (87x87 px)
For Xcode 9 and latest devices
Portrait
iPhone 4/4S 640 x 960
iPhone 5/5C/5S iPod touch 5th generation 640 x 1136
iPhone 6/7/8 750 x 1334
iPhone 6/7/8 Plus 1242 x 2208
iPhone X 1125 x 2436
iPad non-retina 768 x 1024
iPad retina 1536 x 2048
Landscape
iPhone 6, 7 and 8 plus 2208 x 1242
iPhone X 2436 x 1125
iPad non-retina 1024 x 768
iPad retina 2048 x 1536
With iOS 7+, static Launch Images are now deprecated.
You should create a custom view that composes slices of images, which sizes to all screens like a normal UIViewController view.
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html
With universal app I had iPad splash screen showing up in simulator but not on device. The iPad would instead show the Default.png splash for the iPhone. The Default-Landscape.png and Default-Portrait.png files existing, so wth? Resolution should be correct since I created the screen captures using Window | Organizer | Screenshots and used 'Save as Default Image' for the iPad, then just renamed it.
Turns out (from my one app anyways) the two iPad screen shots have to be moved to the Resources-iPad directory. Then it all works fine. Seems obvious now, but in case anyone else has lost sleep over this...
-Larry
For Adobe AIR iOS Developers, take note that if your iPad Splash images "shift" or display and scale a second later, it's because there are different dimensions depending on what version of AIR you're using.
Default-Portrait.png:
768 x 1004 (AIR 3.3 and earlier)
768 x 1024 (AIR 3.4 and higher)
Default-Portrait#2x.png:
1536 x 2008 (AIR 3.3 and earlier)
1536 x 2048 (AIR 3.4 and higher)
Reference:
http://help.adobe.com/en_US/air/build/WS901d38e593cd1bac1e63e3d129907d2886-8000.html#WS901d38e593cd1bac58d08f9112e26606ea8-8000