使用自定义init的SwiftUI视图

时间:2019-07-06 02:47:21

标签: swift swiftui

假设我正在制作一个如下所示的自定义输入元素:

com.google.android.material:material:1.0.0

当前,当我实例化此视图时,需要将struct CustomInput : View { @Binding var text: String var name: String var body: some View { TextField(name, text: $text) .modifier(InputModifier()) } } text的名称都传递给参数。我希望能够使name参数成为可选参数,如下面的示例所示。

name

通常,我会为此使用init方法。但是我不确定如何在init函数中处理 CustomInput("Some name", $text) 之类的属性包装器。

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:4)

您可以这样编写初始化器:

ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]
------------------
ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]
------------------