gpt4 book ai didi

ios - SwiftUI 将 Swift 代码作为参数传递给可重用 View

转载 作者:行者123 更新时间:2023-12-04 08:21:25 24 4
gpt4 key购买 nike

我正在组织我的代码,并且我已经制作了这个自定义按钮 View :

@State var buttonName = ""
@State var imageName = ""

Button(action: {
// Code that should be passed as a parameter to be run
}){
HStack(spacing: 15){
Image(systemName: imageName).resizable().frame(width:40, height: 40)

Text(buttonName)
Spacer(minLength: 15)
Image(systemName: "chevron.right")
}.padding()
.foregroundColor(Color.black.opacity(0.5))
}
通过这个设置,我可以像这样重用这个 View :
buttonView(buttonName: "Logout", imageName: "person.fill")
但是,我还想指定由于单击可重用按钮而应运行的代码,例如:
buttonView(buttonName: "Logout", imageName: "person.fill", action: {Logout()})
然后,这将进入自定义 View ,所述按钮应该在用户使用可重用按钮 View 主体内的导航 View 单击时进入。
我将如何解决这个问题?我尝试了状态:
@State var action = -> Void

最佳答案

这是用于此目的的演示 View

struct DemoView: View {
let action: () -> ()

var body: some View {
Button("Demo", action: action)
}
}
注意:不要使用 @State公共(public) View 属性的包装器!

关于ios - SwiftUI 将 Swift 代码作为参数传递给可重用 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65480645/

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