如何解决如何在SwiftUI中动态扩展Views列表?
因此,我正在制作购物清单应用。我已经创建了行视图,其中包含一个复选框和一个文本字段。
每个元素的View结构如下:
struct Vare: View {
@State var vare: String = ""
@State var checked = false
var body: some View {
HStack {
Button(action: {
self.checked.toggle()
}) {
Image(self.checked ? "CheckBox":"UnCheckBox")
.resizable()
.frame(width: 20,height: 20)
.padding(.leading)
}
TextField("neste vare...",text: $vare)
.frame(maxWidth: .infinity)
.opacity(self.checked ? 0.3:1) // here
}
}
}
现在,我想将“ Vare”视图动态添加到列表中。这是我希望它起作用的方式:
- 我希望列表以“ Vare”的单行开头
- 无论何时用户在文本字段中输入文本,我都希望程序创建另一个“ Vare”行。
- 最后,如果列表中的所有项目都被“选中”,我希望列表删除自身并以“ Vare”的未选中一行重新开始。
我并不是说要有人为我编写整个代码,但是对于Swift来说,我是一个陌生的人,真的需要我能得到的所有帮助:D
这是我到目前为止的列表。它不会编译://////
import SwiftUI
struct VareListe: View {
@State var liste: Array<Vare> = [Vare()]
var body: some View {
List(liste) { vare in
addLine()
}
}
func addLine (){
if liste[liste.endindex -1].vare != "" {
liste.append(Vare())
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。