【发布时间】:2019-08-03 00:11:00
【问题描述】:
我在 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 是交互式的。无法选择前两个 TF1 和 TF2。可以用键盘进入它们,但不能用手指点击选择它们。例如,如果我将顺序从 TF1、TF2、TF3 更改为 TF1、TF3、TF2。然后 TF2 现在是交互式的,但 TF1 和 TF3 不是。这是在 SwiftUI 中添加多个 TextField 的错误还是我遗漏了一些明显的东西?
【问题讨论】:
-
查看this link。它似乎已经为我解决了模拟器上的问题,但我无法在物理设备上对其进行测试,因为我的设备都没有在 iOS 13 上。
-
我在真机上测试过,效果很好。在模拟器上,键盘最初不会显示,因为它似乎默认为软件键盘。使用 CMD+K 会显示键盘。
-
当将 VStack 更改为表单时,文本字段可以与之交互,但这不是我所追求的设计。
标签: swiftui