Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
以编程方式重新初始化iPhone应用程序?_Iphone - Fatal编程技术网

以编程方式重新初始化iPhone应用程序?

以编程方式重新初始化iPhone应用程序?,iphone,Iphone,我的应用程序中有一个语言切换,如果当用户切换语言时,我可以显示activityIndicator并使用新的默认语言重新初始化应用程序的所有视图,这将非常容易管理。iPhone设置如何管理语言更改。有没有一种简单的方法可以做到这一点?您是否有一个顶级视图,比如UIDABBARCONTROLLER或UINavigationController?如果是这样,您可以尝试从它的superview(应该是您的UIWindow)中删除它并创建一个新窗口 例如,在我的应用程序代理中,我有: // Add the

我的应用程序中有一个语言切换,如果当用户切换语言时,我可以显示activityIndicator并使用新的默认语言重新初始化应用程序的所有视图,这将非常容易管理。iPhone设置如何管理语言更改。有没有一种简单的方法可以做到这一点?

您是否有一个顶级视图,比如UIDABBARCONTROLLER或UINavigationController?如果是这样,您可以尝试从它的superview(应该是您的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];

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

这真的很有帮助。这实际上迫使我重新安排了我组织应用程序生命周期的方式。更多的逻辑代码。谢谢