我想使用SwiftUI制作一个简单的应用程序,其中用户按下按钮,将图像添加到VStack的顶部。我该怎么办?
答案 0 :(得分: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())´´´