为什么我没有得到键盘 SwiftUI TextField
Why am I not getting the keyboard SwiftUI TextField
我在 SwiftUI 中有 3 个文本字段。一个在上面,两个并排在下面。
VStack{
//TF1
TextField("Duty", text: $dutyNumber)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
HStack{
//TF2
TextField("Start time", text: $dutyStartTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
//TF3
TextField("Finish time", text: $dutyFinishTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
}
}.cornerRadius(4)
但是只有最后一个文本字段 TF3 是交互式的。不能 select 前两个 TF1 和 TF2。可以用键盘 Tab 进入它们,但不能用手指点击 select 它们。例如,如果我将顺序从 TF1、TF2、TF3 更改为 TF1、TF3、TF2。然后 TF2 现在是交互式的,但 TF1 和 TF3 不是。这是在 SwiftUI 中添加多个 TextField 的错误还是我遗漏了一些明显的东西?
添加答案以造福他人。
解决方案是删除 .cornerRadius 和所有 TextFields 工作。
VStack{
//TF1
TextField("Duty", text: $dutyNumber)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
HStack{
//TF2
TextField("Start time", text: $dutyStartTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
//TF3
TextField("Finish time", text: $dutyFinishTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
}
}//.cornerRadius(4)
我在 SwiftUI 中有 3 个文本字段。一个在上面,两个并排在下面。
VStack{
//TF1
TextField("Duty", text: $dutyNumber)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
HStack{
//TF2
TextField("Start time", text: $dutyStartTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
//TF3
TextField("Finish time", text: $dutyFinishTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
}
}.cornerRadius(4)
但是只有最后一个文本字段 TF3 是交互式的。不能 select 前两个 TF1 和 TF2。可以用键盘 Tab 进入它们,但不能用手指点击 select 它们。例如,如果我将顺序从 TF1、TF2、TF3 更改为 TF1、TF3、TF2。然后 TF2 现在是交互式的,但 TF1 和 TF3 不是。这是在 SwiftUI 中添加多个 TextField 的错误还是我遗漏了一些明显的东西?
添加答案以造福他人。
解决方案是删除 .cornerRadius 和所有 TextFields 工作。
VStack{
//TF1
TextField("Duty", text: $dutyNumber)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
HStack{
//TF2
TextField("Start time", text: $dutyStartTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
//TF3
TextField("Finish time", text: $dutyFinishTime)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding([.leading], 50)
.multilineTextAlignment(.center)
.keyboardType(.numberPad)
}
}//.cornerRadius(4)