I'm developing an app and have come against a strange issue I can't find the answer for - when testing the app on an iPhone 5 the whole app display window is shrunk down to what looks like a 3.5 size display (the top and bottom of the screen are black and even the status bar is pushed down). When I test the app on an iPhone 5s running iOS 8 it displays full screen as expected.
Also when testing in the iOS simulator for iphone 5, and 5s it displays as expected. I'm using xcode 6 for development.
Any help would be greatly appreciated.
You need to set splash screen for your app. Otherwise it will take 3.5 screen size.
Just set the splash screen and you will be done.
So from iOS8, you can use a .xib as your Launch image, but if you have to support past versions of iOS, you have to provide static SplashScreens.
here is a link about replacing the launch image with a .xib file
If you have to use static Launch images, you have to add every supported resolutions:
320 x 480 - not retina iPhones
640 x 960 - retina 3.5" iPhones
640 x 1136 - retina 4" iPhones
750 x 1334 - iPhone 6
1242 x 2208 - iPhone 6 Plus
use size class approach on any height and any width. Hope you will get your solution from the following link
http://captechconsulting.com/blog/tyler-tillage/ios-8-tutorial-series-auto-sizing-table-cells
just clarify on the other answers, make sure you also set the 'Launch Image Source' under 'General' -> 'App Icon and Launch Images'
screen shots....
...mine used to be....
...and i changed it to... (and set an image)
GLHF!
Related
I have inherited an app that uses separate Storyboards for iPhone and iPad. Neither uses autolayout. In viewDidLoad() I log the value of UIScreen.main.bounds.
For any iPhone (5s through X) the logged size is 320x480. This does not change after viewDidLayoutSubviews().
When I create an app from scratch, I get the expected sizes (e.g. 375x667 for iPhone 6 thru 8).
What could be different in my hand-me-down app that makes the screen size uniformly the ancient values for 1x iPhones?
Please note this has nothing to do with view resizing -- this is the screen we are talking about. Similarly the screen scale plays no apparent role.
When you create a new project, if it comes with a Storyboard for Launch images, the size will be automatically detected..
However, for older projects that uses Image Assets instead, you need to provide sizes for the launch screen. IE: "Default" images of the correct sizes of the screen as per:
https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/
Static Launch Screen Images. The names shall be: "Default-XXXh#ResY.png"
where XXX is the height and Y is the resolution.. Example:
iPhone 6 Plus - 1242px x 2208px - Default-736h#3x.png
iPhone 6 - 750px x 1334px - Default-667h#2x.png
I have an iOS App originally developed for iPhone 4 and 5.
After doing some updates, I tried to run it on iPhone 7 (Simulator), the Views won't fill the screen any more. They (inclusing the title bar) leave a black margin on the right and the bottom of the screen.
I found a lot of similar posts regarding iPhone 5, where an appropriate launch image was missing. Yet, I have included all possible launch images in their correct sizes as asset catalogue (shows no warnings any more, puh), and the when the app is launched, the launch image is fullscreen.
The Layout/View is set to auto-layout, and resized well, if I change the size in the InterfaceBuilder.
Why does the View not scale on iPhone 7 ?!?
Try to add splash screen image to project with following name instead of assets folder.
Default-568h.png 320 x 568
Default-568h#2x.png 640 x 1136
Default-667h#2x.png 750 x 1334
Default-736h#3x.png 1242 x 2208
Default.png 320 x 480
Default#2x.png 640 x 960
Found Solution
In the View's "Attributes inspector" tab, in category "Simulated metrics", the attribute "Size" was set to "Freeform". After changing this to "Inferred", the sizing worked.
Note, that this seeting shall be checked in the MainWindow, as well. And it may require a build-clean, before this change reaches the Simulator.
Changing the "Size" also influenced the device selector in the InterfaceBuilder (the symbols for different iPhone and iPad models), making it actually adjust the size when clicking an iPhone model or changing orientation... Before, nothing had changed when clicking a model from the selector.
yes that was also working but in this question launchscreen are mentioned so i have gives answer according to that point.
I am trying to create a lunch screen image for my iOS app. But I am not sure whats the right size for it.
According to apple website for iPhone 6 the size should be 750 x 1334 (#2x) for portrait.
But my question is, how to create a launch screen image that will fit for all screen sizes such as iPhone 5, 5s, 6, 6 plus, iPads etc?
Whats the correct way of doing this?
Go to images.xcassets
there you can see launch image sizes.Just Enable iOS version from right side.
iPhone Portrait iOS 8:- 1242*2208 (5.5 inch)
750*1334 (4.7 HD)
iPhone Landscape iOS 8:-2208*1242 (5.5inch)
iphone Portrait iOS 7,8 :- 640*960 (#2x)
640*1136 (Retina)
iPhone Portrait 5,6 :- 320*480 (#x)
640*960 (#2x)
640*1136 (retina4)
But my question is, how to create a launch screen image that will fit
for all screen sizes such as iPhone 5, 5s, 6, 6 plus, iPads etc?
That will be very hard to do. The devices have different aspect ratios and the difference in size between say iPhone 5 and iPad Air is pretty big to use one image for all. If you want to use the classical launch screen with a screenshot, resizing one image won't look the same as the user interface on different devices. If you want a launch bitmap image you will need to supply all the necessary sizes.
Whats the correct way of doing this?
You can create either launch PNG image or launch screen as a storyboard.
For launch image, your project has an assets catalog. Either use existing or add new iOS launch image. The editor will show you all required sizes.
For a storyboard, your application probably already has LaunchScreen.storyboard. You typically won't create specific size or sizes here, but use auto layout that will resize the screen appropriately.
Im building a universal iPad / Iphone App - with Xcode 6.
I have problems with the splash screen using Asset catalog.
Everything is working fine, until I start adding splash screen images for IOS 7 and later - this suddenly causes the screen to just show black.
Test on iPhone 4S , 8.1 / device and simulator.
I double checked the sizes, played with naming conventions - although this shouldnt matter, re-created the asset catalog a few times, double checked that Launch Screen file has no contents - but nothing seems to help..
It is curious:
If you uncheck all device orientation in General settings of your app, the launch screen it shows perfect. After that if you select all device orientations still works. But when i selected only landscape orientation doesn't work the launch screen.
In iPad works fine. The iPhone it shows black screen
UPDATE:
Finally works:
I had to add the files into my project with the correct names, and it's works, the launch screen with universal app in only landscape orientation.
Default-Landscape~ipad.png (1024 x 768 px)
Default-Landscape~ipad#2x.png (2048 × 1536 px)
Default-568h#2x.png (640 × 1136 px)
Default-568h#3x.png (1242 × 2208 px)
Default#2x.png (640 × 960 px)
Hope help you
I have my project setup on AutoLayout, works fine with iPhones 4 - 6 Plus. However, when I add in the LaunchImage for iPhone 6 and 6 Plus, the frames and constraints for the entire app no longer take up the entire screen. Instead, the entire app fits in the top left area of the screen.
If I remove the LaunchImages for iPhone 6 and iPhone 6 Plus, then the issue goes away and the elements of each View Controller once again have the correct coordinates and sizes.
I am using the following in Images.assets:
- 2x iOS - Portrait 7,8
- Retina 4 - Portrait 7,8
- Retina HD 5.5 Portrait iOS 8
- Retina HD 4.7 Portrait iOS 8
There are no warnings regarding the asset catalog, and all the LaunchImages are at the correct dimensions. I have attempted to Migrate the images over but with no luck.
When you don't provide iPhone 6 and iPhone 6 Plus launch images, iOS 8 simply scales your interface up (makes everything larger to fit).
Once you provide those images, you will now have access to the larger screen resolutions, and just because you use auto-layout, does not mean your views will resize. If you have constraints that are limiting the height and width of your views, you will get what you are seeing. I would check on your constraints on your views to make sure they are done properly and allow the view to grow when the screen size is larger than 320 x 568.