18205


iPadアプリを開発しております。

テキストフィールドのKeyboardTypeにUIKeyboardTypeASCIICapableでASCIIキーボードを指定しているのですが、iOS9.1のみ以下の画像のように、指定のキーボードタイプとは別のタイプのものが表示されてしまいます。

確認した限りでは、iPad Retina, iPad2, iPad Airで発生しておりました。

左下の地球のマークでキーボードを切り替えようとすると、以下のような「Alternate
Keyboard」というダイアログが表示され切り替えが可能になります。

iOS9の場合にも、指定したキーボードタイプを表示するには、どのように指定すればよろしいでしょうか？  
現状は、StoryboardとViewController両方で指定をしておりますが、それでも指定のキーボードが表示されないという状況です。

ご教示いただけたらとおもいます。よろしくお願いいたします。


CC BY-SA 3.0
2015-10-29T08:31:05.197
18200
2015-10-30T04:06:14.313
2015-10-30T04:06:14.313
8682
8682
question
ios objective-c
iOS9.1でiPadキーボードタイプの指定ができない問題について


スクリーンショットはシミュレーターだと思いますが、「日本語かな」キーボードが現在のキーボードになっています。  
おそらくは、これが「日本語ローマ字」キーボード、あるいは「English
(US)」キーボードに自動的に切り替わることを期待しているのかと思いますが、そういう動作はしません。

iOSでは（9.1に限らず）ユーザーが「設定」で追加してある複数のキーボードを切り替えられるようになっていますが、keyboardTypeはキーボードそのものを切り替えるのではなく、現在選ばれているキーボードの動作モードを指定するものです。  
キーボードそのものを切り替える方法は、ユーザーが地球儀のキーを押す以外にはないと思います。

「日本語かな」キーボードでUIKeyboardTypeASCIICapableを指定した場合は、「ABC」のモードが選択された状態になります。（スクリーンショットもそうなっているので正しく動いていると思います）

その他のキーボードでも、個々のキーボードに応じた適切な動作になります。

iOS 9.1だけがこうなるというのは、iOS 8などの他の試した環境では、現在選ばれているキーボードが「日本語かな」ではなかっただけではないでしょうか。


CC BY-SA 3.0
2015-10-29T11:37:15.473
18205
2015-10-29T11:37:15.473
2851
18200
answer