swiftUI обрабатывает ввод с клавиатуры (вставка всплывающего и перехватываемого текста) - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь наладить взаимодействие. Идея состоит в том, чтобы показать пользователю письмо (это не TextField - без курсора). Когда он нажимает на букву, появляется клавиатура. Пользователь нажимает клавишу на клавиатуре, я получаю вставку текста, если его правильно - я покажу следующую букву. Если пользователь нажимает в любом месте за пределами рамки письма - клавиатура должна скрываться. Если он снова нажимает на букву - клавиатура должна снова всплыть.

, поэтому я нахожу 2 способа скрыть клавиатуру:

UIApplication.shared.keyWindow?.endEditing(force)

и

UIApplication.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)

Второй Я думаю, это более интересно. Похоже, я могу отправить View, чтобы подписать его на ввод с клавиатуры, и это заставит клавиатуру всплыть, верно? Итак, вопрос в том, могу ли я сделать несколько пользовательских SwiftUI View для ответа, и как мне сделать это для обработки пользовательского ввода текста.

ps У меня нет опыта работы с UIKit, поэтому я буду признателен за некоторые ссылки, если есть ответ.

pps Существует способ использовать TextField и связывать ObservebleObject текстовое свойство так, как оно было показано здесь но есть ли способ сделать пользовательский вид с возможностью взаимодействия с клавиатурой без использования TextField?

 @Published var text = ""{
        didSet{
             //do some check here
        }
    }
...