Как создать многоразовый CustomTextField? - PullRequest
0 голосов
/ 01 апреля 2020

Мы можем создавать повторно используемые виды, такие как CardView, подтверждающие протокол View. Например, как мы можем создавать настраиваемые текстовые поля для повторного использования?

Как мы используем TextField, предоставляемый в SwiftUI, например

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

Аналогично, как создавать свои собственные повторно используемые TextField с указанным c стилем (cornerRadius, границы)

Пример: CustomTextField("Enter your name", text: $name)

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

Вы не можете создавать подклассы в SwiftUI. Вы можете создать повторно используемый компонент на основе 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()
    }
}

А затем использовать его:

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

enter image description here

0 голосов
/ 01 апреля 2020

вы можете создать пользовательский TextFiled, создав подкласс UITextFiled и написать внутри него пользовательский интерфейс, который приведен в качестве примера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...