2012-12-11 34 views
4

我想更改我的应用程序的语言。目前我正在通过以下方式进行操作。 我有两个按钮,它们在NSUserDefaults中更改语言。但在此之前,我的应用程序需要重新启动它。使用按钮更改iphone应用程序语言并且无需重新启动应用程序

这是我的代码。

- (IBAction)changeDutch:(id)sender { 
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"nl", @"en", nil] forKey:@"AppleLanguages"]; 

} 
- (IBAction)changeEnglish:(id)sender { 
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", @"nl", nil] forKey:@"AppleLanguages"]; 
} 

这工作正常。但我不想每次重新启动我的应用程序。谁能告诉我该怎么做?

亲切的问候!

+0

尝试关注此解决方案http://stackoverflow.com/a/20257557/1013897 其帮助我 –

回答

1

如果您的数据是在UITableView那么您可以使用[tableView reloadData];。 您甚至可以在常量,密钥中定义的appDelegate中设置应用程序语言,然后在IBAction上调用这些键,然后将这些键存储在NSUserDefaults中。

0

您使用哪种方式进行本地化,我的意思是要求的是我们只保留文件夹结构或从Db中取得的本机。

不管怎么说,如果你使用原生的部分,再看看下面的链接可以帮助你,因为我认为我们可以更换语言选项有:

“http://stackoverflow.com/questions/3910244 (坦率地说,我不知道)

但是,如果你使用db部分,那么在这种情况下,你只是使用一些基于枚举的机智,并根据只是获取你的数据,这种方法很简单,因为我已经在这么多的应用程序中应用。

无论如何,只要回到我身边。 :)

1

有改变应用程序的语言无重新提到这个tutorial post我已经尝试过在一个应用程序的方法和它的作品大多但仍,如果你正在使用的系统的项目,如More选项卡中的TabBar,对MoreNavigationControllerCancel按钮Edit按钮在UISearchBar等等,没有重新启动应用程序的文本不能更改为选定的语言。如果没有这样的项目是由iOS控制的,而不是您的应用程序,这对您来说是一个完美的解决方案。

相关问题