我想以編程方式更改MFmailComposer語言。 開始,如果我選擇「英文郵件」按鈕第一 MFMailComposer在英語打開。 現在,如果我選擇「阿拉伯郵件」按鈕,那麼MFMailComposer將以英文顯示,而不是以阿拉伯語顯示。無法以編程方式更改MFMailComposer語言?
這裏是我的ViewController截圖
那麼,如何改變MFMailComposer語言編程方式,無需重新啓動應用程序?
這裏是代碼
- (IBAction)showInArabic:(id)sender
{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"ar", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[self viewDidUnload];
[self viewDidLoad];
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil)
{
if ([mailClass canSendMail])
{
[self displayComposerSheet];
} else {
[self launchMailAppOnDevice];
}
} else {
[self launchMailAppOnDevice];
}
}
- (IBAction)showInEnglish:(id)sender
{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSArray *languages = [NSArray arrayWithObject:@"en"];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[self viewDidUnload];
[self viewDidLoad];
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil) {
if ([mailClass canSendMail]) {
[self displayComposerSheet];
} else {
[self launchMailAppOnDevice];
}
} else {
[self launchMailAppOnDevice];
}
}
我認爲這個鏈接可以幫助你 http://stackoverflow.com/questions/1321281/mfmailcomposeviewcontroller-in-other-languages –
檢查:1.http://stackoverflow.com/questions/9971469/multilanguage - 應用功能於iphone/9971641#9971641 2.http://stackoverflow.com/questions/10647706/how-to-use-spanish-french-chinese-german-keyboard-in-app/10647934#10647934 –
@NaveenThunga意思每次MFMailComposer都採用單擊First的Button語言。如果在不關閉應用程序的情況下單擊另一個語言按鈕,MFMailComposer將不會更改語言 – Apple