如何在视图中的单个VStack中添加多个按钮(Xcode12,SwiftUI)

如何在视图中的单个VStack中添加多个按钮(Xcode12,SwiftUI),swiftui,xcode12,Swiftui,Xcode12,我在单个VStack中有多个按钮时遇到问题。我得到一个错误:在位置上有额外的参数。。。下面是我的代码。这段代码在视图文件夹中,我使用的是带有SwiftUI的Xcode12 确切错误消息:调用中位置#11、#12、#13处有额外参数 import SwiftUI struct HomeView: View { @Binding var page: Pages var drink = Drink.AllDrinks var body: some

我在单个VStack中有多个按钮时遇到问题。我得到一个错误:在位置上有额外的参数。。。下面是我的代码。这段代码在视图文件夹中,我使用的是带有SwiftUI的Xcode12

确切错误消息:调用中位置#11、#12、#13处有额外参数

import SwiftUI

struct HomeView: View {
    
    @Binding var page: Pages
    
    var drink = Drink.AllDrinks
    
    var body: some View {
        
        VStack {
            drink[0].image
                .resizable()
                .frame(width:80, height: 80)
            Text(drink[0].name)
            Button(action: {page = Pages.Home}) {
                OrderButtonContent()
            }
            Spacer()
                .frame(height: 35)
            
            drink[1].image
                .resizable()
                .frame(width: 80, height: 80)
            Text(drink[1].name)
            Button(action: {page = Pages.Home}) {
                OrderButtonContent
            }
            
            drink[2].image
                .resizable()
                .frame(width: 80, height: 80)
            Text(drink[2].name)
            Button(action: {page = Pages.Home}) {
                OrderButtonContent
            }
            
            drink[7].image
                .resizable()
                .frame(width: 80, height: 80)
            Text(drink[7].name)
            Button(action: {page = Pages.Home}) {
                OrderButtonContent
            }
            
            
        }
    }
}

struct HomeView_Previews: PreviewProvider {
    static var previews: some View {
        HomeView(page: .constant(Pages.Home))
    }
}

struct OrderButtonContent: View {
    var body: some View {
        Text("Order")
            .font(.headline)
            .foregroundColor(.white)
            .padding()
            .frame(width: 80, height: 30)
            .background(Color.blue)
            .cornerRadius(15.0)
    }
}


这很简单,让我们看看错误是怎么说的:
确切的错误消息:调用中位置11、#12、#13处的额外参数

上面写着额外的参数!SwiftUI中的最大参数数为10,我们应该使用
Group
进行此操作,如下所示:

struct HomeView: View {
    
    @Binding var page: Pages
    
    var drink = Drink.AllDrinks
    
    var body: some View {
        
        VStack {
            
            Group {   // <<: Here!
                
                drink[0].image
                    .resizable()
                    .frame(width:80, height: 80)
                
                Text(drink[0].name)
                
                Button(action: {page = Pages.Home}) {
                    OrderButtonContent()
                }
                Spacer()
                    
                    .frame(height: 35)
                
                drink[1].image
                    .resizable()
                    .frame(width: 80, height: 80)
                Text(drink[1].name)
                
                Button(action: {page = Pages.Home}) {
                    OrderButtonContent()
                }
                
            }
            
            Group {   // <<: Here!
                
                drink[2].image
                    .resizable()
                    .frame(width: 80, height: 80)
                Text(drink[2].name)
                Button(action: {page = Pages.Home}) {
                    OrderButtonContent()
                }
                
                drink[7].image
                    .resizable()
                    .frame(width: 80, height: 80)
                Text(drink[7].name)
                Button(action: {page = Pages.Home}) {
                    OrderButtonContent()
                }
                
            }
            

            
            
        }
    }
}
struct HomeView:View{
@绑定变量页:页
var drink=drink.AllDrinks
var body:一些观点{
VStack{

组{//这是否回答了您的问题?好的,谢谢您的回答,但现在我得到了一个错误,即每个组中我的第二个按钮中的参数未命名:
未命名参数#2必须在参数“操作”之前。
我的代码与上面两个组的代码完全相同。您缺少
()
在你的大部分
OrderButtonContent
使用
OrderButtonContent()
而不是
OrderButtonContent
@AryanChordia:我为你编辑了代码,你忘记了
()
对于
OrderButtonContent
它应该是这样的:
OrderButtonContent()