【发布时间】:2009-11-10 12:43:13
【问题描述】:
或“如何模拟主页按钮按下事件?”
我需要重新启动我的 iPhone 应用程序,并且我希望程序退出,因此用户只需启动它。
如果我只是使用exit(0),一些更改将不会被保存,就像用户通过按主页按钮退出时那样。
语言更改需要重新启动。
相关代码:
- (void)onChangeLanguage: (id)sender {
NSArray *lang = [NSArray arrayWithObjects:((Whatever *)sender).newLanguage, nil];
[[NSUserDefaults standardUserDefaults] setObject:lang forKey:@"AppleLanguages"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
NSLog(@"Current language: %@", currentLanguage);
// ***
}
如果用户使用主页按钮重新启动,语言将会改变。
如果// *** 被exit(0) 替换,语言不会改变。
【问题讨论】:
-
如果您强制 NSUserDefaults 使用特定的包,则无需重新启动语言更改。见stackoverflow.com/questions/1669645/…
标签: iphone internationalization quit