2010-05-21 129 views
0

我在我的应用程序中有一个语言切换,如果用户切换语言,我可以提供一个activityIndi​​cator并使用新的语言默认值重新初始化应用程序的所有视图,这将非常易于管理。对iPhone设置如何管理语言变化进行分类。是否有捷径可寻?以编程方式重新启动应用程序?

回答

2

您是否拥有顶级视图,如UITabBarController或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]; 

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

+0

这确实有帮助。这实际上迫使我重新组织应用程序生命周期的方式。更多逻辑代码。谢谢! – 2010-05-21 23:59:24

相关问题