【问题标题】:Localize Asset Catalogs本地化资产目录
【发布时间】:2013-09-19 19:44:53
【问题描述】:

我知道这是一项新功能,这可能是不可能的,但我希望能够以不同的语言本地化资产目录,以显示本地化的启动图像。这在 XCode 4 上是可能的,只需本地化图像,但在 iOS7 应用程序中它不起作用。你知道这是否可能吗?

【问题讨论】:

  • 目前看来不可能。您可以尝试通过 Apple 的错误报告器报告错误:developer.apple.com/bug-reporting
  • 我无法想象必须处理本地化图像,只是为了启动屏幕。我不认为 Apple 会将此作为一项功能添加,因为不建议向图像添加文本,并且您的启动屏幕应该只是没有任何文本的 UI。
  • 我会推荐以下内容:根据需要使用标准命名约定(imageAsset_en、imageAsset_fr、imageAsset_es 等)将单独的资产添加到目录中,创建一个用于获取正确图像的小型实用程序类根据手机的当前语言(如果您支持它),然后以编程方式加载图像并将它们放入图像视图(即您将加载一个名为“imageAsset”的图像,并根据本地化加载“imageAsset_en”英文,只要确保有一个默认的回退)。这不是一个很好的解决方案,但它应该可以工作。
  • 如果您认为它适合您,我可以为此写一个更正式的答案。
  • Chad Splash 图像在 applicationDidFinishLaunching 之前加载,我的问题是关于流行的“Default.png”启动图像的本地化 @Vikings 我的 UI 已本地化为 10 种语言,看到文本和按钮很遗憾突然出现的画面,闪屏会让画面更流畅

标签: iphone ios ios7 xcode5


【解决方案1】:

我走的是经典之路。只需使用单个本地化图像并正确设置您的 plist。最简单的方法是使用一个资产目录,设置所有内容。然后打开应用程序包并复制正确命名的文件 + 正确的 info.plist 条目。 (当然之后删除资产目录)结果如下所示:

信息列表:

启动图像文件名:

(我需要所有 iPad 方向/尺寸 + 所有纵向 iPhone 尺寸 + 7.0 特定尺寸)

【讨论】:

【解决方案2】:

Apple's documentation,您需要将 UILaunchImageFile 键设置为自定义启动图像文件名。

然后您需要对该文件进行本地化。

并确保您的启动图像未设置为使用资产目录。

【讨论】:

  • 不工作:“您的二进制文件未针对 iPhone 5 进行优化 - - 提交的新 iPhone 应用程序和应用程序更新必须支持 iPhone 5 上的 4 英寸显示屏,并且必须包含信息中引用的启动图像。 plist 在 UILaunchImages 下,并将 UILaunchImageSize 值设置为 {320, 568}。"
【解决方案3】:

我在 XCode 6.0 和 iOS 7 和 8 中遇到了同样的问题。 不要将 Images.xcassets 用于启动画面。 将以下键添加到 Info.plist:

<key>UILaunchImages~ipad</key>
<array>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.0</string>
        <key>UILaunchImageName</key>
        <string>Default-Landscape</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{768, 1024}</string>
    </dict>
</array>

【讨论】:

    【解决方案4】:

    自 Xcode 11 起支持资产目录资产和图像本地化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-18
      • 1970-01-01
      相关资源
      最近更新 更多