gpt4 book ai didi

swiftui - 为什么我没有得到键盘 SwiftUI TextField

转载 作者:行者123 更新时间:2023-12-05 03:00:02 24 4
gpt4 key购买 nike

我在 SwiftUI 中有 3 个 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)

但是只有最后一个文本字段 TF3 是交互式的。无法选择前两个 TF1 和 TF2。可以使用键盘 Tab 进入它们,但不能用手指点击选择它们。例如,如果我将顺序从 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 - 为什么我没有得到键盘 SwiftUI TextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57334604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com