Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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
Ios 如何在swift中基于运行时语言更改情节提要_Ios_Swift_Xcode_Localization_Storyboard - Fatal编程技术网

Ios 如何在swift中基于运行时语言更改情节提要

Ios 如何在swift中基于运行时语言更改情节提要,ios,swift,xcode,localization,storyboard,Ios,Swift,Xcode,Localization,Storyboard,为了支持本地化,我制作了两个Main.stroyboard,一个用于波斯语,一个用于英语(而不仅仅是.string文件) 它对不同的本地化有好处 现在我想在我的应用程序中有语言选项,这样用户就可以更改应用程序的语言。为此,我希望根据用户选择加载正确的故事板。 我使用的是以下内容: let path = Bundle.main.path(forResource: "fa", ofType: "lproj") let bundle = Bundle(path: pa

为了支持本地化,我制作了两个Main.stroyboard,一个用于波斯语,一个用于英语(而不仅仅是.string文件) 它对不同的本地化有好处


现在我想在我的应用程序中有语言选项,这样用户就可以更改应用程序的语言。为此,我希望根据用户选择加载正确的故事板。 我使用的是以下内容:

        let path = Bundle.main.path(forResource: "fa", ofType: "lproj")
        let bundle = Bundle(path: path!)

        let nsb = UIStoryboard.init(name: "Main", bundle: bundle)
        let vc = nsb.instantiateViewController(withIdentifier: "MainController")
        self.navigationController?.pushViewController(vc, animated: true)
虽然它会根据用户选择更改情节提要,但所有图像都会丢失

有什么原因吗?
我的方法是否符合标准?

您必须创建一个通用故事板,其中一个控制器在选择语言后为选择语言提供选项。您将控制器推送到特定的viewcontroller。为什么需要两个故事板?您可以使用一个,也可以根据用户的需要更改内容selection@Sivagami因为它更容易改变内容,如,字符串,图像和字体与另一个故事板!“我的方法是标准的吗?”不,不是。假设有一个应用程序支持30种不同的语言。他或她应该为所有这些语言本地化每个故事板吗?如果你的答案是肯定的,那就请便吧。在你的问题中,有一件事你(对许多读者)没有弄清楚,那就是你使用的是从右到左的语言,而不是从左到右的语言。我可以看到如何创建从左到右的故事板和从右到左的脚本。还有一个。但是,我没有你的答案。你必须创建一个通用的故事板,其中有一个控制器,在选择语言后,为选择语言提供选项。你将控制器推到特定的viewcontroller。为什么需要两个故事板?您可以使用一个,也可以根据用户的需要更改内容selection@Sivagami因为它更容易改变内容,如,字符串,图像和字体与另一个故事板!“我的方法是标准的吗?”不,不是。假设有一个应用程序支持30种不同的语言。他或她应该为所有这些语言本地化每个故事板吗?如果你的答案是肯定的,那就请便吧。在你的问题中,有一件事你(对许多读者)没有弄清楚,那就是你使用的是从右到左的语言,而不是从左到右的语言。我可以看到如何创建从左到右的故事板和从右到左的脚本。还有一个。但是我没有你的答案。