-->

Xcode 6 & Swift: Black bars appear above and below

2019-03-15 20:31发布

问题:

I created a single view test app and tried running it on my iPhone 5 with iOS 7 installed. It looks like the screen is set to the iPhone 4 size and black bars appear above and below the view controller. I just created the project with Xcode 6 and tried running it without touching any other settings. Has anybody else seen this?

回答1:

In order to solve this problem you have to create launch-screen images for the devices your app supports.

When starting a new app:

For instance let's say your app supports iPhones > 4s, so iPhone: 4s, 5, 5s, 6 and 6plus.

Make sure to make launch-images which have the following dimensions:

  • iPhone4s = 640 × 960
  • iPhone5, 5s = 640 × 1136
  • iPhone6 = 750 x 1134
  • iPhone6plus = 1242 x 2208

For more info about iOS screen dimensions, see this helpful chart

Select your project and then the general settings:

Select or make launch screens in the general section when clicked on your project.

And then make sure you add or select an Launch-image asset:

Go to images.xcassets and select LaunchImage at the left, then select the devices your app supports (at the right)

Make sure you put your images on the right spot, you can select the dashed square and see in the attributes inspector (right section on screen) what dimensions your image needs to meet.

Now when simulating your app all black bars have disappeared.



回答2:

You need to add a Default-568h@2x.png launch image. Here is one that I found by googling (I didn't create it and take no credit for it): https://jira.appcelerator.org/secure/attachment/31241/Default-568h@2x.png

If you want to create your own image its dimensions have to be 640 × 1136. Since you did no customizing the filename should be "Default-568h@2x.png".



回答3:

For some reason, the default LaunchScreen.xib that comes with a new project on Xcode 6.1 is 480x480, while the standard .xib file size for auto layout and adaptive layout appears to be 600x600. If you set the LaunchScreen.xib view size to 600x600, it should fix the problem, did for me.



回答4:

Make sure you add a launch image for your device screen size and that will fix your problem.



回答5:

I have had the same issue. In my universal app I configured orientation for iPad and iPhone and forgot to set back devices drop down to Universal (on target general settings screen). When I set it back - screen shows as expected.