我的注册页面有VStack
嵌入一个ScrollView
嵌入在VStack
。在最里面VStack
我有一系列TextField
与定制TextFieldStyle
.
注册页面的 UI 如下所示:
VStack {
ScrollView {
VStack(spacing: 24) {
TextField(text: $firstNameText) {
Text(.firstNameLabel)
}
.textFieldStyle(.customTextfieldStyle())
TextField(text: $lastNameText) {
Text(.lastNameLabel)
}
.textFieldStyle(.customTextfieldStyle())
}
}
Spacer()
Button(action: submit) {
Text(.nextButtonTitle)
}
}
接下来,customTextfieldStyle
看起来像这样:
VStack(alignment: .leading, spacing: 0) {
configuration
.font(.bodyBook14)
.padding(.bottom, 16)
Rectangle()
.fill(errors.isEmpty ? Color.primary : .errorRed)
.frame(height: 1)
ForEach(errors) { error in
Text(error.title)
.font(.bodyBook14)
.foregroundColor(.errorRed)
.padding(.top, 8)
}
}
在我的自定义文本字段样式中,我添加了一个矩形和一个错误文本。我遇到的问题是这种自定义样式,文本字段下方的矩形和错误消息被焦点覆盖。键盘回避不会偏移足够的滚动视图来向用户显示它们。键盘正确地偏移视图,使其仅显示文本字段,而不显示矩形和错误消息。是否可以使键盘识别整个自定义文本字段样式应该向上移动?
Screenshot below shows how error text is all covered by the keyboard / button.
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)