У меня настроен пользовательский интерфейс, в котором в ScrollView
есть 6 полей:
...
ScrollView {
IndicatorTextField(
index: 0,
hint: "Full Name",
icon: .imageUserBlue,
activeFieldTag: self.$activeFieldTag,
type: .alphabet
).padding(.top, 48)
IndicatorTextField(
index: 1,
hint: "Email Address",
icon: .imageEmail,
activeFieldTag: self.$activeFieldTag,
type: .emailAddress
).padding(.top, 8)
IndicatorTextField(
index: 2,
hint: "Home Town",
icon: .imageLocation,
activeFieldTag: self.$activeFieldTag,
type: .alphabet
).padding(.top, 8)
IndicatorTextField(
index: 3,
hint: "Password",
icon: .imageLock,
activeFieldTag: self.$activeFieldTag,
indicatorColor: .reddishPink
).padding(.top, 8)
IndicatorTextField(
index: 4,
hint: "Date of Birth",
icon: .imageCalender,
activeFieldTag: self.$activeFieldTag,
type: .numbersAndPunctuation,
indicatorColor: .reddishPink
).padding(.top, 8)
IndicatorTextField(
index: 5,
hint: "Gender",
icon: .imageUserRed,
activeFieldTag: self.$activeFieldTag,
indicatorColor: .reddishPink,
returnKey: .default
).padding(.top, 8)
Spacer()
.frame(width: 0, height: -keyboardObserver.lastViewAdjustment)
}
.background(GeometryGetter(rect: $keyboardObserver.lastViewRect))
...
Вот keyboardObserver
Когда клавиатура затем я просто изменяю высоту Spacer
, достаточную для прокрутки до последнего поля.
Теперь я хочу автоматически прокрутить первый ответчик над клавиатурой.
Кто-нибудь знает, как прокрутить ScrollView
с помощью SwiftUI кода?