首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为iPhone 6/6 Plus仅限横向应用程序创建启动映像?

如何为iPhone 6/6 Plus仅限横向应用程序创建启动映像?
EN

Stack Overflow用户
提问于 2014-09-19 12:58:43
回答 11查看 83.4K关注 0票数 60

我有一个现有的仅横向应用程序,我正在尝试添加对iPhone 6/ iPhone 6+的支持。当我支持iOS 6/7时,我只是简单地使用默认命名的启动肖像图像和旋转为肖像的横向图像(即。对于4英寸屏幕,我创建了一个1136x640的横屏,然后旋转创建了一个640x1136的启动图像。)

我正在尝试在iOS 8和iPhone 6/ 6+上运行一些程序,但还没有想出可以运行的程序。以下是我尝试过的一些方法:

  1. 遵循4英寸屏幕启动图像约定的模式。我创建了Default-667h@2x.png和Default-736h@3x.png图像。这确实欺骗了模拟器以适当的iPhone 6/6+分辨率运行,但在启动时,使用的是4英寸屏幕启动图像,而不是我创建的新图像。
  2. 使用资产目录-我在LaunchImages资产中为iPhone 6和iPhone 6 Plus创建纵向启动图像,以及为iPhone 6 Plus创建横向启动图像。iPhone 6Plus可以正常工作,但iPhone 6只显示黑屏。(无法在Info.plist中的资源catalog)
  3. Specify UILaunchImages数组中创建iPhone 6横向启动图像,其中包含所有屏幕大小的条目(请参阅参考https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW28)。我在这里得到了与资产目录类似的结果。我可以让iPhone 6 Plus横向运行,但不能使iPhone 6横向工作。
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2014-09-21 22:25:50

我发现了一个变通方法,使景观只在iOS 8 GM上启动图像工作。我最终在Info.plist中使用了UILaunchImages数组。诀窍是要显示不明确支持横向(iPhone 4/4S、iPhone 5/5S/5C、iPhone 6)的图像,您需要指定重复的条目。请参见下面的示例。这是一个仅支持iPad两个方向的横向手机应用程序。iOS 7将回退到默认的镜像名称。

除iPhone 6Plus启动图像外,所有iPhone启动图像都需要像往常一样旋转为纵向。它本机支持横向启动图像,因此您需要将其启动图像保留为横向。

以下是您的Info.plist的相关部分:

代码语言:javascript
复制
<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{320, 480}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{320, 480}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.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.0</string>
        <key>UILaunchImageName</key>
        <string>Default-568h</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{320, 568}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-667h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-667h</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-Portrait</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{768, 1024}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-Landscape</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{768, 1024}</string>
    </dict>
</array>
票数 75
EN

Stack Overflow用户

发布于 2014-12-15 04:43:53

iPhone 6等的模式发生了变化

iPhone 6 (750x1334):

默认-375W-667h@2x~iphone.png e.png

(1242x2208) iPhone 6 Plus

默认值-414w-736h@3x~iphone.png e.png

Default-Landscape@3x.png (用于横向)

注意:如果你支持iPad,那么你必须将你的iPad默认图像重命名为append ~ipad,例如Default -ipad~ipad.png,以防止6 plus拾取这些图像,因为这些图像会覆盖3x图像。

票数 61
EN

Stack Overflow用户

发布于 2014-11-04 07:33:01

下面的步骤对我很有效:

  1. 使用以下命名将图像添加到项目(根目录或资源文件夹)(我将在纵向启动图像中描述它们):Default.png (3.5英寸),Default-568h@2x.png (4英寸),Default-667h@2x.png (iPhone 6),Default-736@3x.png (iPhone 6plus)。
  2. 转到目标设置,应用程序图标和启动图像,在常规选项卡上->将启动图像源设置为不使用资产目录(‘不使用资产目录’)。
  3. 从主映像资产中删除LaunchImage资产
  4. 转到目标设置、应用程序图标和常规选项卡上的启动映像->将启动映像源设置为使用资产目录
  5. XCode 6将询问您有关从现有映像迁移映像资产的信息。只需单击以‘Migrate’。

它适用于我在iOS7和iOS8上的每一种设备。注意:如果你检查新的LaunchImage资产,你会发现它真的很奇怪。它似乎只包含几张图片,没有iPhone6或iPhone 6plus分辨率的图片。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25926661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档