質問: iPadアプリを開発しております。 テキストフィールドのKeyboardTypeにUIKeyboardTypeASCIICapableでASCIIキーボードを指定しているのですが、iOS9.1のみ以下の画像のように、指定のキーボードタイプとは別のタイプのものが表示されてしまいます。 確認した限りでは、iPad Retina, iPad2, iPad Airで発生しておりました。 左下の地球のマークでキーボードを切り替えようとすると、以下のような「Alternate Keyboard」というダイアログが表示され切り替えが可能になります。 iOS9の場合にも、指定したキーボードタイプを表示するには、どのように指定すればよろしいでしょうか? 現状は、StoryboardとViewController両方で指定をしておりますが、それでも指定のキーボードが表示されないという状況です。 ご教示いただけたらとおもいます。よろしくお願いいたします。
回答: スクリーンショットはシミュレーターだと思いますが、「日本語かな」キーボードが現在のキーボードになっています。 おそらくは、これが「日本語ローマ字」キーボード、あるいは「English (US)」キーボードに自動的に切り替わることを期待しているのかと思いますが、そういう動作はしません。 iOSでは(9.1に限らず)ユーザーが「設定」で追加してある複数のキーボードを切り替えられるようになっていますが、keyboardTypeはキーボードそのものを切り替えるのではなく、現在選ばれているキーボードの動作モードを指定するものです。 キーボードそのものを切り替える方法は、ユーザーが地球儀のキーを押す以外にはないと思います。 「日本語かな」キーボードでUIKeyboardTypeASCIICapableを指定した場合は、「ABC」のモードが選択された状態になります。(スクリーンショットもそうなっているので正しく動いていると思います) その他のキーボードでも、個々のキーボードに応じた適切な動作になります。 iOS 9.1だけがこうなるというのは、iOS 8などの他の試した環境では、現在選ばれているキーボードが「日本語かな」ではなかっただけではないでしょうか。