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

时间:2020-05-11 20:59:22

标签: swift return swiftui

我想构建一个简单的SwiftUI ContentView.swift。在此应用程序的视图窗格中,它将包含两个按钮,其中包含其图像。我考虑过为每个按钮一个一个添加一个功能,然后让SwiftUI显示每个元素。我已经查看了一些与返回类型有关的问题,尽管如果我只有Button(),那么在哪里添加返回类型会让我感到困惑。我的代码很短,很容易看出哪里出错了,没有包含返回值吗?

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)
        }
        }
            }

我希望这两个按钮将出现在屏幕的第一个视图上,然后我可以在理解代码内的位置之后编辑它们将要执行的动作。谢谢您的见解:)

1 个答案:

答案 0 :(得分:0)

这是您要执行的操作:

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)
            }
        }
    }
}