我需要根据一些参数动态创建一个按钮
func buildButton(parameter : Parameter) -> Button {
switch (parameter){
case Parameter.Value1:
return Button(
action: {
...
},
label: {
...
}
)
case Parameter.Value2:
return Button(
action: {...},
label: {
...
}
)
}
}
但编译器给了我这个错误:
对通用类型“Button”的引用需要 <...> 中的参数。插入“>”
所以如果我点击Fix
,函数声明变为
func buildButton(parameter : Parameter) -> Button<Label:View>
编译器给出
使用未声明的类型“”
我需要在这里插入什么才能返回Button
?
我不确定获得一个 Button 有多重要,但如果您只需要将其显示在另一个 SwiftUI 视图中而不需要进一步细化,则可以返回some View
。您只需将所有按钮嵌入 AnyView 中。
func buildButton(parameter : Parameter) -> some View {
switch (parameter){
case Parameter.Value1:
return AnyView(Button(
action: {
...
},
label: {
...
})
)
case Parameter.Value2:
return AnyView(Button(
action: {...},
label: {
...
})
)
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)