为啥 Xcode 中 iPhone6 的 Launch Image 不显示全屏显示?

Posted

技术标签:

【中文标题】为啥 Xcode 中 iPhone6 的 Launch Image 不显示全屏显示?【英文标题】:Why doesn't view show full screen with Launch Image in iPhone6 in Xcode?为什么 Xcode 中 iPhone6 的 Launch Image 不显示全屏显示? 【发布时间】:2017-03-23 03:32:27 【问题描述】:

我使用启动屏幕 (launchscreen.storyboard) 并在 ViewControllers 和 launchscreen.storyboard 中选中“使用自动布局”。

但是当我在 General -> App Icons and Launch Images 中设置 Launch Screen File 时,ViewController 中的视图(UIView 子类)在 iPhoneSE 和 6 中不显示全屏。(ViewController 中的背景图像显示全屏。)

删除应用程序图标和启动图像中的“启动屏幕文件”,视图显示全屏。 (我尝试将 xib 文件用于launchImage,但它是一样的。)

我该如何解决?

【问题讨论】:

【参考方案1】:

这通常发生在您的启动图像不正确时。 ios 根据启动图像的大小来确定屏幕大小。我在 iPhone 6 上遇到了类似的问题,我通过在应用程序中(而不是在 images.Assets 中)添加启动图像为 png 并在 info.plist 中添加 UILaunchImages 字典来解决该问题。 但这里也为 iPhone 6 使用横向图像。这是 info.plist 的源代码。但我们确信所有启动图像的大小都是正确的。

<array>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>A
            <string>Default-320x480</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeLeft</string>
            <key>UILaunchImageSize</key>
            <string>320, 480</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-320x480</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeRight</string>
            <key>UILaunchImageSize</key>
            <string>320, 480</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-Landscape-568h</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeLeft</string>
            <key>UILaunchImageSize</key>
            <string>320, 568</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-568h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>320, 568</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-375x667</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeLeft</string>
            <key>UILaunchImageSize</key>
            <string>375, 667</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-375x667</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeRight</string>
            <key>UILaunchImageSize</key>
            <string>375, 667</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-2208x1242</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeLeft</string>
            <key>UILaunchImageSize</key>
            <string>414, 736</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-2208x1242</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeRight</string>
            <key>UILaunchImageSize</key>
            <string>414, 736</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-2048x1536</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeLeft</string>
            <key>UILaunchImageSize</key>
            <string>768, 1024</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.1</string>
            <key>UILaunchImageName</key>
            <string>Default-2048x1536</string>
            <key>UILaunchImageOrientation</key>
            <string>LandscapeRight</string>
            <key>UILaunchImageSize</key>
            <string>768, 1024</string>
        </dict>
    </array>

【讨论】:

以上是关于为啥 Xcode 中 iPhone6 的 Launch Image 不显示全屏显示?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 iPhone 6 Plus 的键盘在我的应用程序上看起来不同?

苹果开发工具Xcode确认iPhone6s内存为2G

自动布局在 iphone6 模拟器的 xcode 中不起作用

仅在模拟器 iPhone6 中首次启动时出现位置权限问题 - XCode 9.4.1

Xcode 确认 iPhone 6s 是 2GB 内存,iPad Pro 4GB

Xcode 8.0 - 应用程序安装失败 - 可执行文件包含无效签名