gpt4 book ai didi

swift - 如何从 SwiftUI 中的函数返回按钮?

转载 作者:搜寻专家 更新时间:2023-11-01 06:50:50 26 4
gpt4 key购买 nike

我需要根据一些参数动态创建一个Button

func buildButton(parameter : Parameter) -> Button {
switch (parameter){
case Parameter.Value1:
return Button(
action: {
...
},
label: {
...
}
)
case Parameter.Value2:
return Button(
action: {...},
label: {
...
}
)
}
}

但是编译器给我这个错误:

Reference to generic type 'Button' requires arguments in <...>. Insert '<<#Label: View#>>'

所以如果我点击Fix,函数声明就变成了

func buildButton(parameter : Parameter) -> Button<Label:View>

编译器给出

Use of undeclared type '<#Label: View#>'

我需要在此处插入什么才能返回 Button

最佳答案

我不确定您获得一个 Button 有多重要,但如果您只需要它显示在另一个 SwiftUI View 中而不需要进一步细化,您可以只返回 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: {
...
})
)
}
}

关于swift - 如何从 SwiftUI 中的函数返回按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57322631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com