使用按钮更改iphone应用程序语言,无需重新启动应用程序
我想更改我的应用程序的语言。目前,我正在用下面的方法做这件事。 我有两个按钮,用于更改NSUserDefault中的语言。但在这影响我的应用程序之前,我需要重新启动它 这是我的密码使用按钮更改iphone应用程序语言,无需重新启动应用程序,iphone,objective-c,ios,localization,nslocalizedstring,Iphone,Objective C,Ios,Localization,Nslocalizedstring,我想更改我的应用程序的语言。目前,我正在用下面的方法做这件事。 我有两个按钮,用于更改NSUserDefault中的语言。但在这影响我的应用程序之前,我需要重新启动它 这是我的密码 - (IBAction)changeDutch:(id)sender { [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"nl", @"en", nil] forKey:@"AppleLanguages"
- (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"];
}
这个很好用。但我不想每次都重新启动我的应用程序。谁能告诉我怎么做
亲切的问候 如果您的数据位于
UITableView
中,则可以使用[tableView reloadData]代码>。
您甚至可以在appDelegate
中设置应用程序语言,在常量、键中定义,然后在iAction
上调用这些键,然后将其存储在NSUserDefaults
中,我的意思是问,您使用哪种方式进行本地化,是我们仅维护文件夹结构的本机语言还是从Db获取的本机语言
无论如何,如果您使用的是本机部件,请查看以下链接,这可能会对您有所帮助,因为我认为我们可以在此处替换语言选项:
"http://stackoverflow.com/questions/3910244/getting-current-device-language-in-ios"
(坦白说,我不知道)
但如果您使用的是db部分,那么在这种情况下,您只需使用一些基于枚举的技巧,并根据这些技巧获取数据,这种方法很简单,因为我已经在很多应用程序中应用过
如果有任何问题,请回复我。:) 查看以下内容:
它取代了默认的本地化框架。它有一个演示,演示了如何在不重新启动应用程序的情况下更改语言。有一种方法可以在不重新启动的情况下更改应用程序语言。我在一个应用程序中尝试过这一方法,它基本上可以正常工作,但如果您使用的是系统项,如选项卡栏中的More
选项卡,MoreNavigationController上的Edit
按钮和UISearchBar上的Cancel
按钮等,如果不重新启动应用程序,无法更改所选语言的文本。如果没有这样的项目是由iOS而不是你的应用程序控制的,这对你来说是一个完美的解决方案。尝试遵循这个解决方案,它对我有帮助