问题描述
我想使用按钮导航到详细信息屏幕。这些按钮设计在单独的视图中,称为 Using ForEach 函数。请指导我解决这个问题。
这是我为按钮设计的代码
struct Buttonsdesignview: View {
var buttons: MyModel.buttons
var body: some View {
Button(action: { }) {
ZStack {
HStack{
vstack{
Text(btn.title)
.foregroundColor(Color(.blue))
.padding()
Text(btn.subtitle)
.foregroundColor(Color(.blue))
.padding()
}
Spacer()
vstack{
Image(systemName: (btn.image))
.resizable()
.scaledToFit()
.foregroundColor(Color(.blue))
.padding()
}
}
}
}
这是我放在 ContentView 中的代码代码,用于使用 ForEach 调用显示滚动视图中的按钮。
ScrollView(.vertical,showsIndicators: false)
{
ForEach(buttonsData) {
item in
NavigationLink(destination: DetailView(buttons: item))
{
Buttonsdesignview(buttons: item)
.padding(10)
}
}.padding(.horizontal,30)
}
解决方法
您应该将 navigationLink 添加到 ButtonDesignView。 我认为这应该有效;
NavigationLink(destination: DetailView(buttons: buttons)) {
Button(action: { }) {
ZStack {
HStack{
VStack{
Text(btn.title)
.foregroundColor(Color(.blue))
.padding()
Text(btn.subtitle)
.foregroundColor(Color(.blue))
.padding()
}
Spacer()
VStack{
Image(systemName: (btn.image))
.resizable()
.scaledToFit()
.foregroundColor(Color(.blue))
.padding()
}
}
}
}
}