2015-10-26 6 views
8

У меня есть сторонняя клавиатура, которая в настоящее время содержит UISearchBar (это первый ответчик при запуске), и пользователь может искать контент (то есть gifs), чтобы иметь возможность копировать, вставлять , отправить друзьям и т. д.resignFirstResponder() в сторонних клавиатурах

Теоретически, после ввода текста в строке и нажатия поиска пользователь должен иметь возможность вводить текст в фактическом UITextView приложения (то есть поле сообщения в приложении сообщений), но для некоторых причина в том, что это не сработает, и, несмотря на типизацию, ничего не появляется. Я пробовал searchBar.resignFirstResponder(), self.becomeFirstResponder() и многие комбинации .endEditing(true) безрезультатно. Я знаю, что это можно сделать, поскольку такие приложения, как Giffy, делают это, но я не могу понять это для жизни меня. Любая помощь будет принята с благодарностью.

+0

Прошу прощения, я думаю, я не совсем понял вашу проблему. Проблема в том, что при нажатии на возврат ваш введенный текст в строке поиска не встречается в вашем текстовом поле? Или это не переключает первого ответчика на textView? – MQLN

+0

У меня есть панель поиска на моей третьей стороне клавиатуры. Когда я заканчиваю набирать строку поиска, я, похоже, не могу печатать нигде, кроме панели поиска на клавиатуре. Поэтому, если я в приложении Notes, я больше не могу вводить его, пока полностью не выйду из клавиатуры. – cyril

+0

О, странно, поэтому, когда клавиатура открыта, вы не можете сделать что-то еще первым ответчиком? – MQLN

ответ

1

Расширения клавиатуры со встроенными поисковыми барами обычно реализуют свою панель поиска в виде UILabel, добавляя поведение обработки пользовательского текста, которое изменяет свойство метки на основе ввода пользователя на основе text.

+0

Насколько вы уверены в этом? Разве нет другого способа сделать это? – cyril

+0

Практически 100% уверены. Основная проблема, насколько я понимаю, заключается в том, что текстовое поле, которое вы редактировали ранее, находится вне процесса клавиатуры, поэтому нет способа обратиться к нему, чтобы отправить ему сообщение, чтобы снова стать первым ответчиком. Я думаю, что самый простой способ определить, есть ли какие-либо клавиатуры в магазине приложений, которые могут это сделать, - проверить, поддерживает ли кто-нибудь из них нажатие и удерживание, чтобы перемещать курсор, и если он имеет тот же пользовательский интерфейс, что и текстовые поля системы. –

+0

Проверьте приложение Giffage (бесплатно) на Appstore. Когда клавиатура запускается, вы вводите текст в строке поиска (есть курсор). Как только вы начнете поиск GIF, вы можете ввести пробел или последовательность возврата в исходное приложение. Так что что-то происходит между ними, что позволяет вам это делать. Но что? : o – cyril

Смежные вопросы