如何创建可重用的 CustomTextField?

buc*_*Boy 2 swiftui

我们可以创建可重用的视图,例如 CardView 确认视图协议。像这样我们如何创建自定义可重用文本字段?

当我们使用TextFieldSwiftUI 中提供的类似

TextField("Enter your name", text: $name)

同样,如何创建您自己的具有TextField特定样式(cornerRadius、边框)的可重用对象

例子:CustomTextField("Enter your name", text: $name)

ars*_*ius 5

您无法在 SwiftUI 中进行子类化。您可以基于 a 创建可重用组件TextField或创建修饰符,以便TextField在整个应用程序中设置 s 的样式。

我会推荐修改器方法:

struct MyTextFieldModifier: ViewModifier {
    func body(content: Content) -> some View {
        content
            .padding(8.0)
            .background(Color.white.cornerRadius(8.0))
            .shadow(radius: 24.0)
            .padding()
    }
}

Run Code Online (Sandbox Code Playgroud)

然后使用它:

TextField("Title", text: self.$text)
  .modifier(MyTextFieldModifier()) // Your TextField will now have a shadow and a background.
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述