Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何使用特定语言的本地化UIImage?_Objective C_Ios_Localization_Uiimage - Fatal编程技术网

Objective c 如何使用特定语言的本地化UIImage?

Objective c 如何使用特定语言的本地化UIImage?,objective-c,ios,localization,uiimage,Objective C,Ios,Localization,Uiimage,我的应用程序中有设置,希望用户能够切换应用程序的语言。语言可能与设备设置不同 对于NSStrings,我找到了一个解决方案,但是如何使用UIImages呢 我已经本地化了所有图像,但现在它们的选择取决于设备语言。我要怎么做才能让它工作?我现在唯一的选择是将名称放在Localizable.strings中,然后从那里加载它们 有更好的方法吗 Thx;-) 类似于: -[NSBundle URLForResource:withExtension:子目录:本地化:] -[NSBundle-pathF

我的应用程序中有设置,希望用户能够切换应用程序的语言。语言可能与设备设置不同

对于NSStrings,我找到了一个解决方案,但是如何使用UIImages呢

我已经本地化了所有图像,但现在它们的选择取决于设备语言。我要怎么做才能让它工作?我现在唯一的选择是将名称放在Localizable.strings中,然后从那里加载它们

有更好的方法吗

Thx;-)

类似于:

  • -[NSBundle URLForResource:withExtension:子目录:本地化:]
  • -[NSBundle-pathForResource:ofType:inDirectory:forLocalization:][/code>
我应该这样做

然后使用类似于:

  • -[UIImage initWithContentsOfFile:
  • -[UIImage initWithData::
用于创建
ui图像

类似于:

  • -[NSBundle URLForResource:withExtension:子目录:本地化:]
  • -[NSBundle-pathForResource:ofType:inDirectory:forLocalization:][/code>
我应该这样做

然后使用类似于:

  • -[UIImage initWithContentsOfFile:
  • -[UIImage initWithData::

对于创建
UIImage

来说,这看起来非常好,我认为它应该可以工作,但实际上不行。可能我做错了什么,但该方法始终为此返回nil:[[[NSBundle alloc]init]pathForResource:@“test”of type:@“png”inDirectory:@“forLocalization:@“en”]@MoFuRo您需要使用类提供的指定初始值设定项或方便构造函数。在这种情况下,
NSBundle
需要知道路径、url或bundle id,以便返回能够定位其资源的有效bundle实例
+[NSBundle mainBundle]
返回应用程序的捆绑包,这通常是您想要的。因此,您可以尝试以下方法:
[[NSBundle mainBundle]pathForResource:……
。这样看起来更好,但它不会将en.proj添加到路径中。这是调用:'[[NSBundle mainBundle]pathForResource:@“test”of type:@“png”inDirectory:nil forLocalization:@“en”]“。如果这不起作用,也许我会将.lproj附加到语言中,并将其用作子目录。是的,如果我发布的解决方案由于某种原因不起作用,您可以从本地化目录创建一个包。这看起来很好,我认为它应该起作用,但它不起作用。也许我做错了什么,但该方法总是返回ni。”l为此:[[NSBundle alloc]init]pathForResource:@“test”类型:@“png”目录:@“forLocalization:@“en”];@MoFuRo您需要使用类提供的指定初始值设定项或方便构造函数。在这种情况下,
NSBundle
需要知道路径、url或bundle id,以便返回能够定位其资源的有效bundle实例。
+[NSBundle mainbndle]
返回应用程序的捆绑包,这通常是您想要的。因此,您可以尝试以下操作:
[[NSBundle mainBundle]pathForResource:…
。这看起来更好,但它不会将en.proj添加到路径中。这是调用:“[[NSBundle mainBundle]pathForResource:@“png”inDirectory:nil forLocalization:@“en”]“。如果不起作用,也许我会将.lproj附加到语言中,并将其用作子目录。是的,如果我发布的解决方案由于某种原因不起作用,您可以从本地化目录创建一个捆绑包。