为什么故事板会随机加载本地化图像?

时间:2013-06-02 11:21:20

标签: uistoryboard autolayout

我有2个小问题,我认为第二个是因为第一个。

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

见图。 我想一切都配置得当。你觉得有什么奇怪的吗? 也许这是一个Xcode错误。

enter image description here

enter image description here

enter image description here

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

一个非常脏的解决方法可能是创建一个UIButton后代,删除任何宽度限制加载。不知道是否有效。

我很欣赏你对这些问题的看法。

1 个答案:

答案 0 :(得分:2)

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

我做了以下事情。开始了一个新的Xcode项目。我使用了自动布局的故事板。我没有使用Base Internationalization。

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

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

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

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

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

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