这是我的第一个问题: - )
我有一个图像icon_new.png,本地化为3种语言。我需要在运行时使用以下内容加载它:
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"icon_new.png"];
UIImage *img = [UIImage imageWithContentsOfFile:path];
上面的问题是它适用于非本地化的图像,但对于本地化的图像,它们的真实路径实际上附加了en.lproj,zh-Hans.lproj或其他文件夹名称,具体取决于本地化中包含的语言。
现在我可以检查当前的区域设置并相应地添加路径:
// This path would work for image that's localized - for English version of it.
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"en.lproj/icon_new.png"];
但是我想知道是否有自动方式来做到这一点?就像app从正确的语言环境路径加载整个UI .xib文件一样,基本上我只是指定图像名称而不是它的完整路径,并获得适当的本地化版本。
提前感谢您的帮助!
答案 0 :(得分:2)
使用NSBundle
的{{1}},它首先搜索主目录,如果找不到那里的资源,则检查相应的本地化目录。
-pathForResource:ofType: