В настоящее время я работаю над приложением для iPad, мой клиент хочет добавить функциональные клавиши, как на обычной клавиатуре, поверх клавиатуры, что я и сделал. Проблема в том, что ему нужна клавиша «Fn» на системной клавиатуре iPad, которая будет отображать функциональные клавиши при нажатии.
Возможно ли это без побега из тюрьмы? как он прислал мне несколько фотографий, где это делается ... но я много гуглил, но не смог найти ни одного документа Apple, в котором говорится, что «приложение будет отклонено, если оно будет мешать системной клавиатуре или что-то в этом роде»..
Любые указатели на то, как добавить клавишу Fn на клавиатуру или что-то, что я могу показать, чтобы убедить его, очень ценятся.
РЕДАКТИРОВАТЬ: решение для добавления, но только если вы хотите узнать, как вы можете это сделать. НО ЭТО НЕ ТО, ЧТО ВЫ ДОЛЖНЫ СДЕЛАТЬ ДЛЯ НАСТОЯЩЕГО ПРИЛОЖЕНИЯ
Перейдите по этой ссылке, чтобы найти слой KEYBOARD на iPad ПРИМЕЧАНИЕ: вам нужно проверить UIPeripheralHostView
на iPad, UIKeyboard работает на iPhone.
После этого последнего условия if, в котором вы найдете UIPeripheralHostView, добавьте еще один цикл для его подвидов и проверьте условие для UIKeyboardAutomatic
После того, как это будет сделано ... вам нужно сделать рекурсивный вызов, как это делает iOS, для выполнения HitTest
CGPoint может быть чем угодно в зависимости от того, где вы хотите добавить ключ, в моем случае это как CGPoint (50 290) для нижнего правого ключа.
поэтому продолжайте зацикливаться на подпредставлениях при преобразовании вашей CGPoint в локальную систему координат родительского представления (вы можете начать с родительского представления nil после того, как будет найден UIKeyboardAutomatic.
Окончательное условие возврата - если ваше представление относится к классу UIKBKeyView
и может реагировать на вашу точку hitTest. у вас есть ключевое представление и его родитель.. теперь добавьте все, что хотите добавить...