настраиваемая функциональность клавиатуры вида ввода - PullRequest
0 голосов
/ 02 марта 2012

Я хотел задать быстрый вопрос, чтобы убедиться, что я не упускаю ничего простого, прежде чем приступить к реализации более сложного метода. Мне нужно создать пользовательскую клавиатуру для приложения iPhone. Это я уже сделал, создав вид с помощью кнопок, используя пользовательский вид ввода, и он отображается точно так, как должен. Теперь большинство кнопок являются стандартными числами, которые должны обновить UITextField на экране, который вызывал клавиатуру. Кто-нибудь знает простой способ сделать это? Я предполагаю, что должна быть встроенная функция, которую клавиатура использует для отправки информации, но я не смог найти никакой ссылки на нее. В противном случае мне придется идти по более сложному маршруту. Если у кого-то есть простой способ сделать это, я был бы признателен. Я раньше не работал с пользовательскими клавиатурами.

Ответы [ 2 ]

0 голосов
/ 14 октября 2012

Пользовательские клавиатуры проще, чем вы думаете.

UITextField соответствует протоколу UITextInput.Это что-то вроде красной селедки, потому что этот протокол предоставляет все действительно сложные вещи, такие как выделение текста и так далее.Но UITextInput само по себе соответствует UIKeyInput.Это ваш друг.

Ключевыми методами UIKeyInput являются:

- (void)insertText:(NSString *)text;
- (void)deleteBackward;

В вашем классе клавиатуры должен быть делегат (который указывает на текстовое поле, над которым работает клавиатура), и выпросто вызовите эти методы для вставки и удаления текста.

0 голосов
/ 02 марта 2012

Вы не сможете сделать это так же, как Apple, так как их клавиатура - это, по сути, устройство ввода, во всем мире.

Я рекомендую вам просто добавить данные в мультиплексный метод нажатия кнопки. Вот пример:

NSString *appendThisText = @"subtitle";
self.myTextView.text=[NSString stringWithFormat:@"%@%@", self.myTextView.text, appendThisText];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...