SwiftUI函数声明一个不透明的返回类型,在一个视图中插入两个按钮?

SwiftUI函数声明一个不透明的返回类型,在一个视图中插入两个按钮?,swift,return,swiftui,Swift,Return,Swiftui,我想构建一个简单的SwiftUI ContentView.swift。在这个应用程序的视图窗格中,它将包含两个按钮,并暗示它们的图像。我考虑为每个按钮逐个添加一个函数,然后允许SwiftUI显示每个元素。我已经查看了一些与返回类型相关的问题,尽管如果我只有一个按钮(),您会在哪里添加返回类型让我感到困惑。我的代码很短,是否很容易看到我在没有包含报税表的地方出错了 struct ContentView: View { var body : some View { func

我想构建一个简单的SwiftUI ContentView.swift。在这个应用程序的视图窗格中,它将包含两个按钮,并暗示它们的图像。我考虑为每个按钮逐个添加一个函数,然后允许SwiftUI显示每个元素。我已经查看了一些与返回类型相关的问题,尽管如果我只有一个按钮(),您会在哪里添加返回类型让我感到困惑。我的代码很短,是否很容易看到我在没有包含报税表的地方出错了

struct ContentView: View {
    var body : some View {
        func Button1(){
        Button(action: {
         print("Here is a bit of information.")
        }) {
            Image(systemName: "info")
                .padding()
                .background(Color.green)
                .font(.largeTitle)
                .foregroundColor(Color.orange)
                .frame(width: 300, height: 600)
        }
        }
        func Button2(){
        Button(action: {
            print("You have erased it.")
        }) {
            Image(systemName: "trash")
            .padding()
                .background(Color.red)
                .font(.largeTitle)
                .foregroundColor(Color.white)
                .frame(width: 426, height: 620)
        }
        }
            }

我希望这两个按钮将出现在屏幕的第一个视图上,然后我可以编辑它们在我理解代码中的位置后将采取的操作。感谢您的见解:)

以下是您将如何做到这一点:

struct ContentView: View {
    var body: some View {
        VStack {
            Button(action: {
                print("Here is a bit of information.")
            }) {
                Image(systemName: "info")
                    .padding()
                    .background(Color.green)
                    .font(.largeTitle)
                    .foregroundColor(Color.orange)
                    .frame(width: 300, height: 600)
            }
            Button(action: {
                print("You have erased it.")
            }) {
                Image(systemName: "trash")
                    .padding()
                    .background(Color.red)
                    .font(.largeTitle)
                    .foregroundColor(Color.white)
                    .frame(width: 426, height: 620)
            }
        }
    }
}

谢谢你。最后一件事,在代码的第二个到最后一个括号中完成此语句后,我尝试添加>return Button(),但仍然遇到一个问题“无法推断复杂的闭包返回类型;添加显式类型以消除歧义”,我如何结束此代码?结尾的“返回”行的最后一块是什么?为什么要在体内使用返回?正如上面的代码所示,您需要做的是将元素嵌套在堆栈中,您永远不需要返回语句。我真的不明白你在干什么。按钮不需要函数。用新的代码更新你的问题,这样我们就可以看到问题出在哪里了。是的,我能够让代码运行,消除了额外的功能。问题解决了,谢谢你,弗兰肯斯坦@PedroCavaleiro@Tomato_code如果你发现答案是有用的,那么考虑一下投票和标记是正确的答案。是的,谢谢。我的声望太低,我投的票不会被视为一个向上投票的xD,但我投了向上投票。再次感谢用户弗雷肯斯坦。