问题描述
因此,我正在制作购物清单应用。我已经创建了行视图,其中包含一个复选框和一个文本字段。
每个元素的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 (将#修改为@)