iPhoneアプリケーション内で、表示されるUIKeyboardの言語を変更したいと思います。これどうやってするの?
3 に答える
iPhone アプリケーション プログラミング ガイドから:
プログラムのニーズとユーザーの優先言語に応じて、システムはいくつかの異なるキーボードのいずれかを表示する場合があります。アプリケーションは、ユーザーの優先言語 (したがってキーボードの入力方法) を制御することはできませんが 、特殊キーの構成とその動作など、意図された用途を示すキーボードの属性を制御することはできます。
[...]
さまざまなユーザーの言語設定を容易にするために、iPhone OS はさまざまな言語のさまざまな入力方法とキーボード レイアウトもサポートしています。その一部を図 5-4 に示します。キーボードの入力方法とレイアウトは、ユーザーの言語設定によって決まります。
したがって、ユーザーの好みとは異なる言語のキーボードを表示する方法はないようです。
プログラムで実際に行うことはできません。ユーザーはそのキーボードを有効にする必要があり、それからアクセスできます。アラートビューなどで英語以外のキーボードが必要であることをユーザーに伝えることができます。
NSString *iso631Code = @"zh";
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:iso631Code] forKey:@"AppleLanguages"];
中国語 (ピンイン) キーボードを提供してくれます (再起動せずに @"zh"、@"fr"、@"en" と動的に切り替えることもできます)。
NSLocalizedString に特定の言語を強制的に使用させる方法も参照してください。