swiftui - 当用户在 SwiftUI 中按下按钮时,如何将图像添加到 VStack?
问题描述
我想使用 SwiftUI 制作一个简单的应用程序,用户按下按钮,图像被添加到 VStack 的顶部。我怎么做?
解决方案
您可以跟踪数组中的图像名称。将该数组定义为 a @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())´´´
推荐阅读
- javascript - 如何在 JavaScript 中一次选择多个字符
- javascript - 错误:无法读取 null 的属性“getAttribute”(ckeditor)
- swift - SwiftUI 更新类子变量
- java - 选择排序不通过 if 语句
- javascript - 如何在codeigniter中使用ajax将数据传递到bar Highchart?
- android - Android后台通知振动
- node.js - aws-serverless-express 连接错误 - 套接字挂断
- javascript - 如何在 *ngFor 中获得 *ngIf 的第一个真实值
- json - 让我的 re.findall 接受带有 # 符号的网址
- r - 有没有办法使用 dpyr 创建带有 for 循环的数据帧?