前提・実現したいこと
評価機能を盛り込みたいため星をタップしたらタップされた星(評価)以下を塗りつぶしの星に変更したい
実現したい動作は、左から星1,星2,星3とし、
星1をタップしたら、★☆☆
星2をタップしたら、★★☆
星3をタップしたら、★★★
現状以下のコードだとタップした星のみが反応して★となる。
ループでviewを生成したときのviewの操作方法を理解しておらず、調べてもなかなか出てこないため、ご教授いただきたいです。
該当のソースコード
ForEach(0..<3) { _ in StarView() }
struct StarView: View { @State var isChecked:Bool = false var body: some View { Button(action: { isChecked.toggle() }){ HStack{ Image(systemName: isChecked ? "star.fill": "star") .foregroundColor(.yellow) } } } }
補足情報(FW/ツールのバージョンなど)
Xcode, SwiftUI
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/24 05:30