Как заставить отключение интерактивной клавиатуры SwiftUI ScrollView включать панель ввода в .safeAreaInset?IOS

Программируем под IOS
Anonymous
Как заставить отключение интерактивной клавиатуры SwiftUI ScrollView включать панель ввода в .safeAreaInset?

Сообщение Anonymous »

У меня есть приложение чата с элементом управления ScrollView для сообщений и панелью ввода, расположенной в .safeAreaInset(edge: .bottom). Я использую .scrollDismissesKeyboard(.interactively), который отлично подходит для отключения клавиатуры при прокрутке области содержимого сообщения.
Однако интерактивное отклонение срабатывает только при перетаскивании в пределах границ ScrollView. Он регистрируется только тогда, когда мой палец касается верхней части клавиатуры, а не ввода. Панель ввода находится между сообщениями и клавиатурой (во вставке в безопасной области), и перетаскивание вниз из области панели ввода НЕ приводит к закрытию интерактивной клавиатуры.
В iMessage перетаскивание вниз из области панели ввода плавно закрывает и панель ввода, и клавиатуру вместе, поскольку панель ввода представляет собой UITextView.inputAccessoryView.
Как добиться такого же поведения в SwiftUI? Есть ли способ заставить панель ввода участвовать в закрытии интерактивной клавиатуры, или мне нужно использовать inputAccessoryView через UIKit?

Подробнее здесь: https://stackoverflow.com/questions/798 ... e-the-inpu

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