iPhone - добавление кнопки на клавиатуре в существующий вид аксессуаров (клавиатура из UIWebView) - PullRequest
4 голосов
/ 29 апреля 2011

Я ищу способ добавить кнопку в вспомогательный вид клавиатуры, который появляется при касании поля ввода в UIWebView , без использования каких-либо частных функций или сомнительных уловок..

enter image description here

Знаете ли вы, как я могу это сделать?

Примечание. Я знаю, как можно поймать события показа / скрытия клавиатуры.Я спрашиваю, как добавить кнопку.

Ответы [ 3 ]

1 голос
/ 29 апреля 2011

Вы можете сделать это, используя UIKeyboardWillShowNotification, посмотрите ссылку UIWindow для получения информации об этом:

[[NSNotificationCenter defaultCenter]
 addObserver:self selector:@selector(keyboardWillShow:)
 name:UIKeyboardWillShowNotification object:nil];

Это уведомление возникает, когда текстовое поле даже из a UIWebView выбран.

Посмотрите на Apple KeyboardAccessory Пример кода, который показывает, как это сделать.Этот пример кода использует свойство UITextXxxx inputAccessoryView, которое, я сомневаюсь, вы сможете использовать.Но уведомление даст вам достаточно информации, чтобы добавить ваш аксессуар прямо в вашем представлении или даже в верхнем окне UIWindow, и даже при анимации с помощью клавиатуры:

(gdb) po notification
NSConcreteNotification 0xb5a2190 {name = UIKeyboardWillShowNotification; userInfo = {
    UIKeyboardAnimationCurveUserInfoKey = 0;
    UIKeyboardAnimationDurationUserInfoKey = "0.300000011920929";
    UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 260}}";
    UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 610}";
    UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 350}";
    UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 480}, {320, 260}}";
    UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 220}, {320, 260}}";
}}
0 голосов
/ 14 июня 2013

Посмотрите на этот пример яблока , так как он делает именно то, что вы ищете.Но в целом идея состоит в том, чтобы заменить inputAccessoryView на UIWebView, чтобы показать ваше пользовательское представление.

0 голосов
/ 07 августа 2012

UIKit позволяет приложениям заменять пользовательские виды ввода для системной клавиатуры.Это также позволяет приложениям иметь вспомогательный вид над системной клавиатурой или пользовательский вид ввода.Кроме того, он позволяет приложениям воспроизводить звуки нажатия клавиш, когда пользователи нажимают на элементы управления представления ввода или вспомогательного вида ввода.

...