4

我有两个相关的小问题,我认为第二个是因为第一个。

第一个是我的应用程序中有几个 UIButtons,但没有文本,只有背景图像。这些图像已本地化为 6 种语言。问题是在故事板中编辑视图时,我看到每个按钮随机加载图像(有时是英语,其他是西班牙语,其他是俄语……)。应该都是英文的,因为我有钥匙:CFBundleDevelopmentRegion en

看图片。我想一切都配置正确。你看到什么奇怪的东西了吗?也许这是一个 Xcode 错误。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

第二个问题是我正在使用自动布局。原因是这些按钮中的图像根据语言具有不同的大小。因此,随着 intrinsec 内容大小的变化,按钮宽度也会发生变化(因为没有宽度限制)。问题是,如果我选择一个按钮并按下“适合内容的大小”选项以删除任何宽度限制,它似乎工作得很好(当我以不同的语言启动应用程序时,宽度会根据语言)但是,当故事板以不同的语言加载图像时(第一个问题),自动布局似乎自动添加了宽度约束,然后当我再次启动应用程序时,按钮的宽度在大多数语言中都不正确。你知道发生了什么吗?

一个非常肮脏的解决方法可能是创建一个 UIButton 后代,以消除对负载的任何宽度限制。不知道这样行不行。

我非常感谢您对这些问题的想法。

4

1 回答 1

2

这似乎是 Xcode 中的一个错误,但它不会影响最终的应用程序。

我做了以下。开始了一个新的 Xcode 项目。我使用带有自动布局的故事板。我没有使用基本国际化。

我在主视图中添加了 3 个按钮。然后,我创建了 3 个与按钮一起使用的图像,并将它们添加到资源组中。我将 PNG 文件与情节提要一起保存在 en.lproj 文件夹中。我首先得到了英文版本。

然后我去了项目并添加了法语。它为它认为应该本地化的所有文件打开了一个对话框,其中包括 PNG 文件。它将它们全部复制到 fr.lproj 文件夹中。然后,我创建了 PNG 文件的法语版本,并将它们与原始文件名一起保存在 fr.lproj 文件夹中。

在 Xcode 中查看时,只有一个按钮是法语的。其他人都是英国人。

当我在模拟器中运行应用程序时,切换语言时使用了正确的 PNG。

这很烦人,但在运行时似乎不会影响应用程序。

退出 Xcode 并重新启动它会更改哪些是正确的,但仍然无法正常工作。您可能应该向 Apple 提交 RADAR 错误。http://bugreporter.apple.com/

于 2013-06-10T17:37:35.117 回答