SwiftUI如何将新选择的图像更新到单元格



我正在制作一个iOS应用程序,我想在行视图中显示某种默认图像(或只是空白(,然后由用户将其更新为新选择的图像。应用程序当前的外观如何将单元格中的图像更新为用户选择的新图像?

这就是我创建行视图和单元格的方式

import SwiftUI
struct Row: Identifiable {
let id = UUID()
let cells: [Cell]
}
extension Row {
}
extension Row {
static func all() -> [Row] {
var resultRow = [Row]()
for _ in 1...10 {
resultRow.append(Row(cells: [Cell(imageURL: "camera"), Cell(imageURL: "camera")]))
}
return resultRow  
}    
}
struct Cell: Identifiable {
let id = UUID()
let imageURL: String
}

我的UIView看起来像这个

import SwiftUI
struct PhotoUIView: View {
@State private var showImagePicker: Bool = false
@State private var image: Image? = nil
let rows = Row.all()
var body: some View {
VStack{
List {
ForEach(rows) { row in
HStack(alignment: .center) {
ForEach(row.cells) { cell in
Image(cell.imageURL)
.resizable()
.scaledToFit()
}
}
}
}.padding(EdgeInsets.init(top: 0, leading: -20, bottom: 0, trailing: -20))
image?.resizable()
.scaledToFit()
if (image == nil) {
Text("Upload photo to begin quick design")
}
Button("Select photo to upload") {
self.showImagePicker = true
}.padding()
.background(Color.blue)
.foregroundColor(Color.white)
.cornerRadius(10)
Button("Begin Quick Design") {
print("Here we upload photo and get result back") 
}.padding()
.background(Color.green)
.foregroundColor(Color.white)
.cornerRadius(10)
}.sheet(isPresented: self.$showImagePicker) {
PhotoCaptureView(showImagePicker: self.$showImagePicker, image: self.$image)
}
}
}
struct PhotoUIView_Previews: PreviewProvider {
static var previews: some View {
PhotoUIView()
}
}

因此,您可以创建一个图像数组,并添加那些名称为image_0、image_1等的选定图像。然后使用数组(例如[i](将图像添加到单元格中

最新更新