Форма SwiftUI с прокруткой во время отображения клавиатуры - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть форма SwiftUI с полем TextField. Мне бы хотелось, чтобы при появлении клавиатуры форма не закрывалась клавиатурой И чтобы поле было прокручиваться в поле зрения.

Form {
    ForEach(0..<self.fields.count) { index in
        CreateField(field: self.fields[index]) // this could be any of several input types
    }
}
.modifier(KeyboardHandler())

, где KeyboardHandler() - это любое из нескольких решений, найденных в Stackoverflow, для изменения нижнего отступа формы при появлении / исчезновении клавиатуры.

При использовании формы (которая отображает вещи очень хорошо) можно ожидать, что по крайней мере один элемент в форме потребует использования клавиатуры. Я имею в виду, что это одна из причин использовать форму: собирать информацию от пользователя. Поэтому меня удивляет, что обработка клавиатуры каким-то образом не встроена в форму. Или, скорее, таким образом, который работает без нас, чтобы сделать это. В Stackoverflow есть несколько клавиатурных решений - это колесо, которое изобреталось чаще, чем само колесо.

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

Возможно ли это с SwiftUI? Должен ли я написать свою собственную форму (я бы не хотел)?

...