Как определить, нажимается ли текстовое поле хост-приложения или настраиваемой клавиатуры в расширении клавиатуры iOS?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как определить, нажимается ли текстовое поле хост-приложения или настраиваемой клавиатуры в расширении клавиатуры iOS?

Сообщение Anonymous »

Я работаю над расширением клавиатуры для iOS, в котором у меня есть собственный UITextField, встроенный в саму клавиатуру. Мне нужно различать нажатия на текстовое поле моей пользовательской клавиатуры и текстовое поле хост-приложения.
В настоящее время у меня есть флаг isSearchTextfieldTapped, чтобы определить, нажал ли пользователь текстовое поле клавиатуры. В большинстве случаев это работает нормально. Однако если текстовое поле хост-приложения пусто и пользователь сначала нажимает на текстовое поле моей клавиатуры, флаг становится истинным, как и ожидалось.
Проблема возникает, когда пользователь впоследствии нажимает на текстовое поле приложения хостинга. На этом этапе мне нужно сбросить флаг isSearchTextfieldTapped на false, но я не могу понять, как определить, что текстовое поле хост-приложения было выбрано после нажатия на текстовое поле клавиатуры.< /p>
Как определить, когда пользователь переключает фокус обратно на текстовое поле хост-приложения, чтобы я мог сбросить свой флаг?
Вот упрощенная версия того, что Я пробовал:
var isKeyboardTextFieldActive = false
var isSearchTextfieldTapped = false

override func textDidChange(_ textInput: UITextInput?) {
print(#function)

// The app has just changed the document's contents, the document context has been updated.
if let beforeInput = proxy.documentContextBeforeInput {

if beforeInput == searchTextfield.text {
isKeyboardTextFieldActive = true
} else {
isKeyboardTextFieldActive = false
}

} else {
if isSearchTextfieldTapped {
isKeyboardTextFieldActive = true
} else {
isKeyboardTextFieldActive = false
}
}
}

extension KeyboardViewController: UITextFieldDelegate{
func textFieldDidBeginEditing(_ textField: UITextField) {
isSearchTextfieldTapped = true
}

func textFieldDidEndEditing(_ textField: UITextField) {
isSearchTextfieldTapped = false
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -tapped-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Есть ли какое-либо доступное текстовое поле, которое могло бы работать как бесплатное текстовое поле, а также работать к
    Anonymous » » в форуме Jquery
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous
  • PHP – изменить текстовое поле на раскрывающееся меню и предварительно скомпилированное текстовое поле
    Anonymous » » в форуме Php
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • UI Automator с настраиваемой клавиатурой. Найдите точную кнопку клавиатуры и нажмите ее
    Гость » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Гость
  • Текстовое поле IOS невидимо в поле ввода HTML
    Anonymous » » в форуме CSS
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Текстовое поле IOS невидимо в поле ввода HTML
    Anonymous » » в форуме IOS
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»