如何解决显示用于 EditText 的键盘后视图不滚动在键盘下编辑文本SwiftUI
当键盘显示编辑输入时,我在滚动视图中有 TextEditor,它向 ScrollView 的底部添加了正确的填充,但它不会在视图的可见部分滚动 TextEditor。 当我使用 TextField 而不是 TextEditor 时,填充和自动滚动工作正常,但我的应用程序中需要 TextEditor(Multiline TextField)。
ScrollView(.vertical,showsIndicators: true) {
ScrollViewReader { proxy in
vstack(spacing: 0) {
AddActivityButtonStack()
Text("Duration")
.frame(minWidth: 0,maxWidth: .infinity,minHeight: 45,idealHeight: 45,maxHeight: 45,alignment: .leading)
.padding(.leading)
.padding(.trailing)
.padding(.top,20)
DurationPickerTextField(placeHolder: "",duration: $selectedTime)
.frame(height: 45,alignment: .center)
.padding(.leading)
.padding(.trailing)
Text("Date")
.frame(minWidth: 0,alignment: .leading)
.padding(.top)
.padding(.leading)
.padding(.trailing)
DatePickerTextField(placeHolder: "",date: $selectedDate)
.frame(height: 45,alignment: .center)
.padding(.leading)
.padding(.trailing)
HStack {
Group {
Button(action: {
print("Hypo Event")
},label: {
Text("Hypo Event")
})
Button(action: {
print("Hypo Event")
},label: {
Text("Hypo Event")
})
}
.foregroundColor(Color.white)
.frame(minWidth: 0,minHeight: 0,maxHeight: .infinity,alignment: .center)
.background(Color.red)
.cornerRadius(20)
}
.frame(height: 40)
.padding(.leading)
.padding(.trailing)
.padding(.top)
// Scrolling and padding works fine for textfiled
TextField(
"User name (email address)",text: $username
)
// padding is correct but does not scroll automatically when the keyboard shows
TextEditor(text: $description)
}
.padding(.top,20)
.padding(.bottom,20)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。