実現したいこと
ここに実現したいことを箇条書きで書いてください。
・タップするごとに画像が変わるようにしたい(A→B→C→A)
前提
ここに質問の内容を詳しく書いてください。
swiftでアプリを作っています。
ZStackで上からA,B,Cという画像を並べました。
AをタップするとBに、BをタップするとCに、CをタップするとAになるようにしたいです。(タップした画像が最背面に移動するということ)
どうしたら良いですか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
次のような感じですか?
swift
1import SwiftUI 2 3struct ContentView: View { 4 @State private var count: Int = 0 5 var body: some View { 6 VStack { 7 ZStack { 8 Image("A") 9 .zIndex(Double((count + 2) % 3)) 10 Image("B") 11 .zIndex(Double((count + 1) % 3)) 12 Image("C") 13 .zIndex(Double((count) % 3)) 14 } 15 .onTapGesture(perform: { count += 1 }) 16 } 17 .padding() 18 } 19}
追記です。
左側と右側で独立するように、ですかね。
swift
1import SwiftUI 2 3struct ContentView: View { 4 @State private var count: Int = 0 5 @State private var count2: Int = 0 6 var body: some View { 7 VStack { 8 HStack { 9 ZStack { 10 Image("A") 11 .zIndex(Double((count + 2) % 3)) 12 Image("B") 13 .zIndex(Double((count + 1) % 3)) 14 Image("C") 15 .zIndex(Double((count) % 3)) 16 } 17 .onTapGesture(perform: { count += 1 }) 18 ZStack { 19 Image("D") 20 .zIndex(Double((count2 + 2) % 3)) 21 Image("E") 22 .zIndex(Double((count2 + 1) % 3)) 23 Image("F") 24 .zIndex(Double((count2) % 3)) 25 } 26 .onTapGesture(perform: { count2 += 1 }) 27 } 28 } 29 .padding() 30 } 31}
*具体的なコードも質問欄にご記載いただけますと、よりよいかなと思います。
投稿2024/03/03 06:40
編集2024/03/03 14:10退会済みユーザー
総合スコア0
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/03/03 12:49
2024/03/03 13:37
2024/03/04 07:51