繁体   English   中英

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

[英]Why am I not getting the keyboard SwiftUI TextField

我在SwiftUI中有3个TextField。 一个在上面,两个在下面。

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的错误,还是我遗漏了一些明显的东西?

添加答案以使他人受益。

解决了这个问题的解决方案是删除.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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM