我注意到XCode 4.2中存在一个问题,其中一些本地化的NIB没有从各自的语言包中加载正确的图像。
在我的一个控制器中,我有几个图像视图。在英文版本中,我注意到一些图像视图会抓取应该加载到它们上的图像的法语版本。同样的事情发生在法国版的NIB上。
我显然已经仔细检查了我的图像资源,并验证法语图像是否正确存储在“en.lproj”和“fr.lproj”文件夹中。
之前是否有人遇到此问题?每当我运行项目时,无论是在模拟器还是实际的手机中,最大的问题都在于,图像似乎始终如一。我的控制器中甚至没有手动调用来加载图像。所有图像都是通过NIB预设的。
答案 0 :(得分:0)
如果在资源包含在构建中之后对资源进行了本地化,则资源的非本地化版本将保留在构建的应用程序中。重建应用程序只会添加新文件并更新已编辑的文件,但不会删除已删除的文件。
要在模拟器中解决该问题,您可以打开管理器(Window
> Organizer
),选择Projects
标签并删除项目的派生数据,然后重建。< / p>
要在您的设备上解决该问题,您可以删除该应用,清理您的构建产品(Product
&gt; Clean
),然后重建。
答案 1 :(得分:0)
我有同样的问题,我找到的唯一解决方案是删除图像本地化并加载它们。
UIImage *img = [UIImage imageNamed:NSLocalizedString (@"imageOne.png", @"Main Image")];
例如,在您的 Localizble.strings(西班牙语)中,您写道:
"imageOne.png" = "imageOne_es.png";
Localizble.strings(英文):
"imageOne.png" = "imageOne_en.png";