Window size small on iPhone 5/6 - ios

I have having ass issue with an iOS8 app, I use auto layout but not size classes in my storyboard. My app works as expected in iPhone 4s and on iPhone 6+ but when viewed on an iPhone 5/5S/6 the window seems to be the wrong size, I get a black border at the top and bottom of the screen. I have attached a screenshot below. What could cause this? I have never encountered it before..

You are missing the correct size of launch screen for 4" and 4.7" devies. If you have them in your project make sure they are in the list of launch screen in te info.plist. If you are using image assets make sure they are present in the LaunchImage section.

Related

ImageView Scaling for iPhone 6 and 6+

So Im making a game without the use of auto-layout. I have used constraints to scale everything and it worked perfectly. However, there are 12 image views that scroll down. 6 on the right a 6 on the left.
This is done based on a code i've written and places the images via arc4random.
The images on the left are completely fine and scroll down so that there is no gap between the side of the screen and the image. As do the images on the right when using the iphone 4s and 5.
HOWEVER.. when it comes to trying this on the iphone 6 and 6+, alot of the times, there is a gap between the image and the side of the screen on the RIGHT. the LEFT is fine. I want to know how I could solve this issue. This is more of a general problem so dont need to include code.
You can try disabling iPhone6 and iPhone6 Plus support for the app so that they work fine on the new devices (via scaling)
Remove "Launch Screen File" from Target General Settings and if you are using Asset Catalogs for Launch images, under right panel for the asset catalog under Launch Images-> remove launch images for iPhone Portrait and Landscape for the category 'iOS 8.0 and later'
This is a workaround that makes iPhone6 and iPhone6Plus to scale views according to the screen size.

Strange screens in iPhone5s 7.1 simulator

I have xcode 6 and target is 7.0.I am having no problem with other simulators.But in iPhone5s7.1 the screen has black top bar and bottom bar
If you use #2x.png files by default, then I'm sure that your app will look good on iPhone5s and other retina devices.
as #WonderMonster answer you will have to make #2x size images
Read this https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html
This is because the iPhone 5s has a taller screen than the iPhone 4 and earlier. Most likely you are setting your view to a static size rather than setting it to dynamically resize.

Autolayout not working on iOS7 and Xcode 6

I've started using Xcode auto layout for my projects.
Auto-layout works perfectly when I'm testing on ios8 devices, it the view scales as needed.
However, things get a little crazy with ios7.
When I test my app on an ios7 iPhone 5 simulator, the app doesn't scale-up to the larger screen,
but only shows the 3.5 inch view, leaving black bars on the top and bottom of the screen.
I am using a tableView controller.
How do I scale the tableViewController up so that it fits on a larger screen in ios7?
(Like I've said, my app fits perfectly in ios8, on all screen sizes, but not in ios7.
Also, it scales fine on an ios7 ipad.)
thanks.
The Xcode (6) IDE should give a warning about this, that may not be so clear:
"Applications using Launch Screen Files and targetting iOS 7.1 and earlier
need to also include a Launch Image in an Asset Catalog."
This means you need to have the proper Launch-Images for the "Retina 4" screen,
which is 640 × 1136 pixels, and it should be configured in the assets-catalog,
just like your Application-Icons ("AppIcon"), but under "LaunchImage" there.
Once you add this 4-inch-compatible Launch-Image to your application,
iOS-7 will assume you are properly supporting the "Retina 4" screen,
and will launch the application in 4-inch mode.

4-inch simulator strange result

On right there is simulator and on the left you can see the ViewController in xcode5. Problem: black space at the top and bottom of the simulator.Even the Carrier and time not showing at top . Issue in 4-inch screen and in 3.5-inch screen its working perfectly
As discussed in the comments of your question, you are missing the Default-568h#2x.png launch image, for your app to utilities the whole iPhone 5 screen you need to include this launch image otherwise it will not launch in full screen.
Here is a link to the Apple documentation for Human User Interface for launch images
add a Default-568h#2x.png image to your project and problem will be gone.

Support of iPhone 4-inch screen by storyboard

I created a new project in XCode 5. And I run it on iPhone 5 (which has 4" screen) and a view doesn't cover all screen, but rather squeezed in 3.5" box (there are two black bars around my view)
I went to Main_iPhone.storyboard and checked that:
Use Autolayout is turned on on View Contoller
Use Autolayout is turned on on View
I tried Simulated Metrics, Size: Retina 4-inch Full Screen, Freeform and Inferred.
I tried to use button at the button to switch to Retina 4-inch form factor and 3.5-inch form factor.
Nothing makes a difference and it still shown as 3.5" (black bars around my view).
How can I make sure that iPhone storyboard occupies whole screen on iPhone 4-inch phone?
Update 1
None of solutions in this question: Xcode Storyboard displaying the new iPhone 5 screen size? solved my problem. BTW. That question was for pre XCode 5.
To enable your apps to work with iPhone 5, I suggest you to do two things.
First you need to add a retina version of the launcher image. It should be named Default-568h#2x.png.
And second use Auto Layout and make sure you have your autoresizing mask set up correctly for all your views.
I had the same problem, could not resolve it by any of the above methods. So what I did is copied the Content.json files from old project (where 4-inch was working) into the Images.xcassets Applcon.appiconset and LaunchImage.launchimage directories respectively. Then selected in the project setting in General under App Icon selected Source as AppIcon and in Launch Images in Source selected LaunchImage. It worked. Maybe useful to someone.

Resources