【问题标题】:iOS Universal app iPad launch images not being usediOS 通用应用 iPad 启动图像未使用
【发布时间】:2011-03-24 23:20:30
【问题描述】:

我正在关注“为不同方向提供启动图像”的 iOS 编程指南,但似乎无法让我的 iPad 特定启动图像正常工作。如果我正确阅读文档,如果我在 iPad 模拟器中启动我的应用程序,则应该使用“Default~ipad.png”作为启动图像,但它使用的是我的“Default.png”。

如果我告诉模拟器作为 iPhone4 运行,它会正确使用我的“Default@2x.png”。但这让我更加困惑为什么 iPad 版本不工作。

有人知道如何让 iPad 特定的启动图像正常工作吗?

【问题讨论】:

  • 我自己现在也遇到了这个问题。无数次重建应用程序,确保它是正确的大小 (768x1004),确认 Default~ipad.png 在捆绑包中——不知道为什么它不像记录的那样工作。
  • 尝试在 Info.plist 中定义 iPad 启动图像,如下面的答案所示。您可能需要使用“默认”以外的其他名称作为基本名称。
  • 这个问题在这个条目stackoverflow.com/questions/2634898/…上解释得很好

标签: iphone ipad


【解决方案1】:

我设法通过在应用程序的 Info.plist 中提供一个 iPad 特定的密钥来使其工作,而不是像文档建议的那样使用 iPad 特定的文件名。

我的 iPad 启动图像是“iPadDefault.png”,我在 Info.plist 中添加了以下键/值

<key>UILaunchImageFile~ipad</key>
<string>iPadDefault</string>

【讨论】:

    【解决方案2】:

    我终于在 ipad 上同时使用了横向,在 iphone 4 中使用了高分辨率横向,在其余部分使用了低分辨率横向(两部手机都使用了 1 个横向,我在 plist 中没有使用其他方向或启动属性):

        <key>UILaunchImageFile</key>
    <string>Default</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationLandscapeRight</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
    </array>
    

    我的图片的方向如下(请注意,两张手机图片都顺时针旋转了 90 度,但在手机上显示为横向): Default-Landscape.png (1024 x 748) 横向。 Thius 比 iPad 的分辨率小 20 像素。 Default.png (320 x 480) 纵向(当我在取景器中查看它时,它看起来从上图顺时针旋转了 90 度) Default@2x.png (640 x 960) 方向同上

    【讨论】:

      【解决方案3】:

      有几种方法可以做到这一点。我的首选方式来自“iOS App Programming Guide”

      为不同方向提供启动图像:

      1. 在 Info.plist 中,将 UILaunchImageFile 设置为基本名称:'MyAppName.png'

      2. 在您的包中,使用以下命名结构创建文件:

      &lt;basename&gt;&lt;orientation_modifier&gt;&lt;scale_modifier&gt;&lt;device_modifier&gt;.png

      示例: 我为 iPad、iPhone、1x 和 2x 使用了所有这些名称:

      MyAppName-Portrait~ipad.png
      MyAppName-Landscape~ipad.png
      
      MyAppName-Portrait@2x~ipad.png
      MyAppName-Landscape@2x~ipad.png
      
      MyAppName-Portrait~iphone.png
      MyAppName-Landscape~iphone.png
      
      MyAppName-Portrait@2x~iphone.png
      MyAppName-Landscape@2x~iphone.png
      
      // iphone 5
      MyAppName-Portrait-568h@2x~iphone.png
      MyAppName-Landscape-568h@2x~iphone.png
      

      注意: @2x 放在正确的位置,这是它不在文件名末尾的一种情况

      当您有多个构建目标并且您不想使用 Default.png 文件名时,此方法特别有效

      【讨论】:

      • iPhone 5 是如何融入其中的?
      • 这里有一个提示,可以帮助我获得正确的文件名并被 Xcode 接受。从您的项目中删除您的图像,然后按照说明添加您的MyAppName info.plist 条目。然后将您的图像拖到 Xcode 4 Target 摘要图像放置点上。然后,它们将使用您的 MyAppName 命名方案而不是 Default.png 文件名复制到项目文件夹的根目录中。如果像我一样你不希望它们在那里,你可以从你的项目中删除引用,将它们移动到你的图像文件夹,然后 Xcode 会选择它们。
      • 这是如何在 iPhone 5 中工作的,目前没有文档记录。一旦它出现在文档中,我就会更新我的答案。
      • 在 iPhone 5 上您使用后缀 -568h,因此您可能会使用 Default-568h@2x.png 例如。您的应用程序中必须有一个具有该确切名称的文件才能完全支持 iPhone 5(如果不支持,您会收到 Xcode 警告),但似乎可以指定您的启动图像称为“foo. jpg”,然后有一个 foo-568h@2x.jpg,它将优先使用 Default-568h@2x.png
      • 这真的帮助了我 - 谢谢。不过,我确实必须将 Launch Images > Source(在 Targets > General 下)切换为“Use Asset Catalog”(默认设置是“LaunchImage”,它会拾取 iPad 启动图像而不是 iPhone 图像)。不确定这是否是 iOS7 特有的怪癖,因为这是我的第一个应用程序...
      【解决方案4】:

      由于您正在开发通用应用程序,因此命名约定发生了变化!

      这是指南的引述!

      包括 iPhone 和 iPad 的启动图像。 iPhone 启动图像 仍将命名为 Default.png 和 Default@2x.png。为你的 iPad 命名 纵向启动图像 Def​​ault-Portrait.png (不要使用 Default.png 作为 iPad 纵向启动图像)。

      意思是,没有纵向/横向等...您只需以这种方式重命名文件:

      iPhone(iPod): Default.png and Default@2x.png
      iPad: Default-Portrait.png and Default-Portrait@2x.png (the @2x version is for the new iPad !)
      

      刚遇到同样的问题,这解决了我,我不确定左右方向在通用二进制文件上是否可用!但这个 def 对我有用!

      【讨论】:

        猜你喜欢
        • 2012-12-27
        • 2011-09-28
        • 2015-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多