Нет одобренного Apple способа редактирования существующей клавиатуры. Если вы хотите, чтобы они это разрешили, подайте запрос на добавление функции.
Тем не менее, так получилось, что в большинстве приложений клавиатура (экземпляр UIKeyboard) является отдельным UIWindow, и вы можете перебирать окна в приложении и начинать добавлять пользовательские подпредставления, которые реагируют на соответствующие сенсорные действия. Найдите его, выполнив итерацию по [[UIApplication sharedApplication] windows]
и проверив, содержит ли описание строку UIKeyboard
. Для получения дополнительной информации об этом методе и некотором примере кода см. этот ответ .
Другой подход заключается в создании собственного пользовательского представления и создании клавиатуры с нуля. Будьте осторожны, если вы сделаете это, так как это требует много ручной работы, не только при создании клавиатуры и настройке сенсорного поведения в соответствии с Apple, но и при добавлении любого элемента управления, который будет вызывать обычную клавиатуру - вы ' Вам нужно будет перенаправить такие вещи, как becomeFirstResponder
, чтобы показать собственную клавиатуру, а не Apple.
Редактировать: Как указал ZaBlanc, в более новых версиях iOS есть способ сделать это с помощью свойств inputView
и inputAccessoryView
. Подробности смотрите в справочнике UIResponder .