首先,感謝您花時間看這個,你們搖滾!
我白天是盲人/視障者的老師,剛剛開始涉足代碼,以創建一些簡潔的工具來推進我們的職業。
我正在嘗試構建的第一個應用程式是評估工具。我已經能夠使用帶有 Pickers 和 Toggles 的 Forms 來相當成功地完成這項作業,并在此程序中學到了很多東西。
我遇到的最大問題是在記錄他們當前的視覺診斷時。我們的大多數孩子都有多重診斷,所以我需要一種方法讓用戶為每個孩子添加他們需要的數量。在 @aheze 在https://stackoverflow.com/a/69137065/18850386中的回復和一些修改的幫助下,我已經能夠使用 ForEach 陳述句創建我想要的按鈕,但是選擇的 Picker 值是系結在一起的。這是我當前的代碼和圖片。
當前代碼預覽截圖
@State var eyeConditions = [""]
@State var eyeConditionsList = ""
var body: some View {
NavigationView {
Form {
Section(header: Text("Active Eye Condition(s)")) {
ForEach(eyeConditions.indices, id: \.self) { index in
Picker(
selection: $eyeConditionsList,
label: Text("Selected Condition:"),
content: {
Text("").tag("1")
Text("Amblyopia").tag("2")
Text("Aphakia").tag("3")
Text("Astigmatism").tag("4")
Text("Bulls Eye Maculopathy").tag("5")
Text("Cataract").tag("6")
Text("Coloboma").tag("7")
Text("Color Blindness").tag("8")
Text("Convergence Insufficiency").tag("9")
Text("Corneal Scarring").tag("10")
})
}
Button(action: {
eyeConditions.append("")
}) {
Image(systemName: "plus.circle")
.foregroundColor(Color.blue)
}
}
}
.navigationBarTitle("Visual Information")
}
}
我的問題是,如何使每個新創建的 Picker 值不相互關聯并顯示為單獨的值?
在此先感謝,我非常感謝您的時間和幫助!
uj5u.com熱心網友回復:
也宣告
eyeConditionsList為陣列@State var eyeConditionsList = [""]在按鈕操作中還附加一個專案
eyeConditionsListButton(action: { eyeConditions.append("") eyeConditionsList.append("")系結
selection到適當的索引Picker( selection: $eyeConditionsList[index]
但實際上你只需要一個@State屬性
@State var eyeConditions = [""]
var body: some View {
NavigationView {
Form {
Section(header: Text("Active Eye Condition(s)")) {
ForEach(eyeConditions.indices, id: \.self) { index in
Picker(
selection: $eyeConditions[index],
label: Text("Selected Condition:"),
content: {
Text("").tag("1")
Text("Amblyopia").tag("2")
Text("Aphakia").tag("3")
Text("Astigmatism").tag("4")
Text("Bulls Eye Maculopathy").tag("5")
Text("Cataract").tag("6")
Text("Coloboma").tag("7")
Text("Color Blindness").tag("8")
Text("Convergence Insufficiency").tag("9")
Text("Corneal Scarring").tag("10")
})
}
Button(action: {
eyeConditions.append("")
}) {
Image(systemName: "plus.circle")
.foregroundColor(Color.blue)
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/459929.html
