SwiftUI:TextField 内的填充

Viv*_*Roy 17 ios swiftui swiftui-form

我有一个TextFieldSwiftUI 。当我将填充应用到它时

TextField(text, text: $value)
    .padding()
Run Code Online (Sandbox Code Playgroud)

填充位于 的点击区域之外TextField,即点击填充不会使文本字段成为焦点。

TextField我希望即使用户点击填充也能够聚焦。

小智 24

你可以试试这个。至少对我有用。希望对某人有帮助:

            TextField("", text: $textfieldValueBinding)
                .frame(height: 48)
                .padding(EdgeInsets(top: 0, leading: 6, bottom: 0, trailing: 6))
                .cornerRadius(5)
                .overlay(
                    RoundedRectangle(cornerRadius: 5)
                        .stroke(lineWidth: 1.0)
                )
Run Code Online (Sandbox Code Playgroud)

  • 它在视觉上有效,但填充区域不可点击,因此它不能解决OP的问题。 (15认同)

小智 -4

我不知道是否可以在 TextField 内部进行填充,但您可以从外部环境填充它,并为其提供与 TextField 背景颜色相同的形状背景。

尝试这个;

        TextField("Username", text: $value)
            .background(Color.yellow)
            .padding(50)
            .background(Capsule().fill(Color.white))
Run Code Online (Sandbox Code Playgroud)

  • 我想增加文本字段的点击区域。这不就是这样做的吗? (2认同)