所以我在這件事上花了很尷尬的時間,我來請你拯救我的理智。我正在構建一個應用程式來對我的盲人和視障學生進行評估。在這個特定的部分,我們正在測驗他們的色覺(是的,大多數被認為是“盲人”的人仍然有一些剩余的視力)。我希望能夠點擊螢屏(按鈕)并回圈瀏覽我評估的 6 種顏色。我曾嘗試使用 ForEach 陳述句,但我得到的最接近成功的結果給我留下了一個半紅半黃的螢屏。顏色都保存為我的資產中的影像。我還嘗試將其設定為具有 .infinity 寬度和高度的框架的矩形會在點擊時改變顏色,但這甚至更不成功。我知道這可能非常簡單,但正如你現在所知道的那樣......我不是這方面的老手。
import SwiftUI
struct colorChange: View {
@State private var images: [UUID] = []
var body: some View {
VStack {
ForEach(1...6, id: \.self) { image in
Image("yellow"); Image("green"); Image("blue"); Image("purple"); Image("orange"); Image("red")
}
Button(action: {
self.images.append(UUID())
}, label: {
Text("").frame(maxWidth: .infinity, maxHeight: .infinity)
})
}
}
}
struct colorChange_Previews: PreviewProvider {
static var previews: some View {
colorChange()
}
}
uj5u.com熱心網友回復:
您可以嘗試這樣的事情,使用資產中的影像名稱和 2 個按鈕來回圈瀏覽影像:
struct ColorChange: View {
@State private var images: [String] = ["yellow", "green", "blue", "purple", "orange", "red"]
@State private var imgNdx = 0
var body: some View {
VStack {
Image(images[imgNdx])
.frame(width: 333, height: 333) // adjust the size as desired
HStack {
Button("Next", action: {
if imgNdx < images.count-1 {
imgNdx = 1
}
})
Button("Previous", action: {
if imgNdx >= 1 {
imgNdx -= 1
}
})
}
}.buttonStyle(.bordered)
}
}
或者,如果您想點擊影像
struct ColorChange: View {
@State private var images: [String] = ["yellow", "green", "blue", "purple", "orange", "red"]
@State private var imgNdx = 0
var body: some View {
Button(action: {
if imgNdx < images.count-1 {
imgNdx = 1
}
}, label: {
Image(images[imgNdx]).frame(width: 333, height: 333) // adjust the size as desired
})
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468369.html
