iPad: обнаружение внешней клавиатуры

Мое приложение использует UIAccessoryView для обеспечения дополнительных функций клавиатуры ( например, вкладки вперед / назад и клавиши со стрелками) для виртуальной клавиатуры, но это приводит к срабатыванию UIKeyboardDidShowNotification, даже если присутствует физическая клавиатура (аксессуар отображается внизу экрана).

I ' Это подавляет UIKeyboardWillShowNotification и UIKeyboardDidShowNotification при наличии физической клавиатуры, но сохраняет эти уведомления, когда такой клавиатуры нет. Пока все хорошо.

Затем я попытался повторно включить inputAccessoryView только после получения UIKeyboardWillShowNotification . Это срабатывает только тогда, когда требуется виртуальная клавиатура, поэтому это должно позволить мне повторно ввести представление аксессуаров в этих обстоятельствах. По крайней мере, я так думал.

К сожалению, похоже, что ОС не проверяет inputAccessoryView после UIKeyboardWillShowNotification , поэтому она не может показать вспомогательное представление, когда это необходимо: o (

Это оставляет мне два варианта:

  • Включить представление аксессуаров ввода, предоставляя дополнительные функции для пользователей виртуальной клавиатуры, но теряют способность обнаруживать физическую клавиатуру и, следовательно, не поддерживают физические устройства; или
  • полностью исключить устройство ввода, не давая большинству пользователей доступа к дополнительным клавишам, но разрешив приложению работать с физической клавиатурой.

Не лучший выбор, поэтому я все еще хочу узнать, есть ли у кого-нибудь еще решила эту проблему!

7
задан jdphenix 5 April 2015 в 04:45
поделиться