Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.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 如何为Xcode中的每个目标将不同的Storyboard.strings添加到相同的Storyboard?_Ios_Xcode - Fatal编程技术网

Ios 如何为Xcode中的每个目标将不同的Storyboard.strings添加到相同的Storyboard?

Ios 如何为Xcode中的每个目标将不同的Storyboard.strings添加到相同的Storyboard?,ios,xcode,Ios,Xcode,我的项目中有多个故事板。假设其中一个是Main.storyboard。我在Main.storyboard中有几个硬编码字符串。因为我们正在尝试创建一个白色标签的应用程序,所以我在现有项目中添加了多个目标 现在每个目标都使用相同的Main.storyboard,因为UI没有变化。但是我需要为每个目标自定义Main.storyboard中的硬编码字符串 例如,在目标A中,当为目标B构建字符串时,字符串应该说“欢迎来到A”,字符串应该是“欢迎来到B” 我能想到的一种方法是为每个这样的UICompone

我的项目中有多个故事板。假设其中一个是
Main.storyboard
。我在
Main.storyboard
中有几个硬编码字符串。因为我们正在尝试创建一个白色标签的应用程序,所以我在现有项目中添加了多个目标

现在每个目标都使用相同的
Main.storyboard
,因为UI没有变化。但是我需要为每个目标自定义
Main.storyboard
中的硬编码字符串

例如,在目标A中,当为目标B构建字符串时,字符串应该说“欢迎来到A”,字符串应该是“欢迎来到B”

我能想到的一种方法是为每个这样的
UIComponent
创建
IBOutlet
,并通过添加
if-else
语句动态更新它们的值,或者简单的方法是启用
Main.storyboard
的本地化,并为每个目标创建不同的
Main.strings
文件

我更喜欢使用第二种方法,但我不知道如何实现它。任何帮助都将不胜感激。这里不需要代码,因此不添加任何代码段。如果您需要项目结构的屏幕截图,请告诉我:)

  • 为每个目标添加一个
    可本地化的.strings
    文件
  • 在每个
    可本地化的.strings
    文件中添加一个条目,该条目具有一个公共键,但文本不同
  • 使用
    NSLocalizedString
    功能设置文本
  • 更新:

    您还可以为每个目标添加
    Main.strings
    (名称取决于情节提要名称)文件,而不是
    Localizable.strings
    。在这些文件中,您可以使用
    {element\u identifier}.text
    作为键来设置特定UI元素的文本。您可以通过右键单击情节提要->“打开为”->“源代码”找到标识符


    这将适用于以编程方式设置的字符串,但我需要动态更改脚本中的文本。这种方法不起作用:(以编程方式设置文本有什么问题?我有很多故事板,其中很多是静态文本,以编程方式创建IBOutlet和更新文本,只是在静态文本块中替换一个单词没有多大意义。我最终会编写大量文本,我在寻找一个更简洁的解决方案是的。正如你在我的屏幕上看到的那样ts我添加了我自己的
    Main.strings
    文件,而不是通过本地化设置自动创建的文件。创建更多的SO帐户并开始使用。;)很高兴我能提供帮助!