[用户在SwiftUI中按下按钮时如何向VStack添加图像?

问题描述 投票:0回答:1

我想使用SwiftUI制作一个简单的应用程序,用户按下按钮,将图像添加到VStack的顶部。我该怎么办?

swiftui
1个回答
0
投票

您可以跟踪数组中的图像名称。将该数组定义为@State,以便每次更改时都会重绘该数组,并使按钮操作在所需数组名称的位置0插入该数组。在下面的示例中,您可以在操场上看到它的运行情况(我正在使用系统映像,并且将映像的名称存储为字符串)。

import SwiftUI
import PlaygroundSupport

struct TestView: View {

    @State var imageArray:[String] = []

    var body: some View {
        VStack{
            Button("Add Image"){
                self.addNewImage()
            }
            List(self.imageArray, id: \.self){ imageName in
                Image(systemName: imageName)
            }
        }
    }

    func addNewImage(){
        let randomImage = ["flame", "bolt", "hare", "ant"].randomElement()
        self.imageArray.insert(randomImage ?? "heart", at: 0)
    }
}
PlaygroundPage.current.setLiveView(TestView())´´´

© www.soinside.com 2019 - 2024. All rights reserved.