ios - 重新加载 Storyboard以更改语言

标签 ios objective-c localization

我正在应用程序中实现多语言支持。谁能说一下如何重新加载 Storyboard以更改本地化文本而不重新启动应用程序?

最佳答案

要重新加载 Storyboard,您需要在更改语言时设置 RootViewController。您可以使用以下代码行来设置 RootViewController:

  let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "FirstViewController")
  let rootviewcontroller: UIWindow = ((UIApplication.shared.delegate?.window)!)!
  rootviewcontroller.rootViewController = firstVC

如果您想在firstVC中嵌入导航 Controller ,您应该使用以下代码行:

  let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "FirstViewController")
  let nav = UINavigationController(rootViewController: firstVC)
  let rootviewcontroller: UIWindow = ((UIApplication.shared.delegate?.window)!)!
  rootviewcontroller.rootViewController = nav

关于ios - 重新加载 Storyboard以更改语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42807970/

相关文章:

ios - 忽略 Xcode 6 中的特定警告

ios - PickerView 根据选择器选择返回特定的文本字符串

ios - Swift 中的逻辑问题

ios - 使用自定义警报 View 中的按钮在 Swift 中的另一个 ViewController 中继续

ios - 我可以实现苹果钱包应用程序之类的亮度功能吗?

android - 填充将字符串映射到 Android 中 XML 中的数字的 Spinner

objective-c - 启用页面和设备旋转/方向更改的 UIScrollView (MADNESS)

objective-c - 在 objective-c 中将数字转换为单词

javascript - 用 Angular 打印日语

android - b 代表什么,b+sr+Latn 背后的语法是什么?