是否可以在运行时更改故事板语言?

时间:2016-12-07 17:38:07

标签: objective-c cocoa localization storyboard bundle

我在我的应用程序中使用了storyboard文件并且有2种语言支持,我创建了

  

'可本地化的字符串'

对于这两种语言并且在

中有一个.storyboard文件
  

Base.lproj enter image description here

在登录期间,用户应该更改语言,因此我需要在运行时更改语言...是否可以重新启动应用程序?

这是我的代码,但是不起作用:),导致'捆绑'未加载

var bundle = NSBundle.FromPath (NSBundle.MainBundle.PathForResource ("ru", "lproj"));
            bundle.Load ();
            var st = NSStoryboard.FromName ("Main", bundle);
            NSViewController contentVC = st?.InstantiateControllerWithIdentifier (NSConstants.MainSplitViewControllerID) as NSViewController;
            NSApplication.SharedApplication.Windows.FirstOrDefault ().ContentViewController = contentVC;

1 个答案:

答案 0 :(得分:0)

使用它:

let path = Bundle.main.path(forResource: "ru", ofType: "lproj")
        let bundle = Bundle(path: path!)
        let storyboard = UIStoryboard(name: "Main", bundle: bundle)