代码之家  ›  专栏  ›  技术社区  ›  Mike A

重新启动应用程序?

  •  0
  • Mike A  · 技术社区  · 16 年前

    我的应用程序中有一个语言切换,如果用户切换语言时,我可以显示一个活动指示器,并用新的语言默认值重新初始化应用程序的所有视图,这将非常容易管理。iPhone设置管理语言更改的方式。有简单的方法吗?

    1 回复  |  直到 16 年前
        1
  •  2
  •   gotosleep    16 年前

    您有一个顶层视图吗,比如uitabarcontroller或uinavigationcontroller?如果是这样,您可以尝试从它的超级视图(应该是您的uiwindow)中删除它并创建一个新的。

    例如,在我的应用程序代理中,我有:

    // Add the tab bar controller's current view as a subview of the window
    [window addSubview:self.tabBarController.view];
    [window makeKeyAndVisible];
    

    要恢复此操作,您可以在应用程序委托中尝试:

    [self.tabBarController.view removeFromSuperView];
    self.tabBarController = //create a new tab bar controller
    [window addSubview:self.tabBarController.view];
    

    也许有更好的方法,但这可能是我的第一个方法。