2009-08-13 5 views
0

Есть ли способ проверить, есть ли в настоящее время клавиатура iphone на японском и английском режиме ввода?iphone Японская клавиатура

я бы просто проверить символы Unicode, но Numpad на японской клавиатуре посылает обычные символы ASCII, я думаю ...

+3

Я лично избежать пытается определить, какая клавиатура используется и дело с недопустимого ввода программно, так как пользователь может вставить недействительный текст в поле и в этот момент, не имеет значения, какая клавиатура используется. – Neil

ответ

1

Существует не способ проверить, что клавиатура отображается, лучшее, что вы можете сделать, это либо отобразите оповещение пользователя о том, что он должен использовать клавиатуру japanesee или сделать свою собственную клавиатуру и нажать туда.

+0

спасибо, просто задумался id check :). – kiyoshi

2

Если вы погружаетесь в частный API вы можете определить текущий активный менеджер ввода:

NSLog(@"Active Input Manager: %@", [[objc_getClass("UIKeyboardInputManager") activeInstance] class]); 
+0

Спасибо :), это довольно круто. Я думаю, что я собираюсь держаться подальше от частного API для моего приложения, хотя, опасаясь отказа. Из любопытства есть ли документация для частного API? – kiyoshi

+0

В общем, Apple не может обнаруживать большинство частных вызовов API (в том числе выше); до тех пор, пока ваше приложение терпит неудачу, должно быть хорошо. Нет документации для большинства частных API, но вы можете создавать заголовки, используя класс-дамп: http://code.google.com/p/networkpx/wiki/class_dump_z – rpetrich