提问者:小点点

SwiftUI TextField:点击时键盘不显示


我在HStack中有一个简单的文本字段和一个按钮

        HStack {
            TextField("Level Name", text: $levelName)
                .font(.title)
                .padding(10)
                .background(
                    RoundedRectangle(cornerRadius: 15)
                        .strokeBorder(Color.primary.opacity(0.5), lineWidth: 3))
            
            Button(action: {

            }) {
                Text("Submit").font(.title)
            }
        }

单击文本字段不会在我的模拟器上显示键盘,并向控制台发出警告:

[LayoutConstraints]无法同时满足约束。可能以下列表中至少有一个约束是您不想要的。试着这样做:(1)看看每个约束条件,找出你不期望的;(2) 找到添加了一个或多个不需要的约束的代码,并将其修复。(注意:如果您看到的是您不理解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性translatesAutoresizginMaskIntoConstraints的文档)(“

将尝试通过打破约束来恢复

在 UIViewAlertForUnsatisfiableConstraint 处创建一个符号断点,以便在调试器中捕获此断点。UIView 上 UIConstraintBasedLayoutDebugging 类别中列出的方法列在


共1个答案

匿名用户

你的代码起作用了。键盘出现了。运行iOS15.1。

struct TestView: View {
    
    @State var levelName = ""
    
    var body: some View {
           
        HStack {
            TextField("Level Name", text: $levelName)
                .font(.title)
                .padding(10)
                .background(
                    RoundedRectangle(cornerRadius: 15)
                        .strokeBorder(Color.primary.opacity(0.5), lineWidth: 3))
            
            Button(action: {
                
            }) {
                Text("Submit").font(.title)
            }
        }
        
    }
    
}