Deep_Dev
article thumbnail

 

 

โœ… ๋ทฐ๋ฅผ ์ „ํ™˜์‹œํ‚ค๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ธ Flip ๊ธฐ๋Šฅ

 

 

 

1. MainView

import SwiftUI

struct ContentView: View {
    
    @State var isFlipped = false
    
    var body: some View {
        VStack(spacing: 0) {
            ZStack {
                if isFlipped {
                    FrontView()
                } else {
                    BackView()
                }
            }
            .scaleEffect(x: isFlipped ? -1 : 1)
            .frame(width: 200, height: 300)
            .rotation3DEffect(.degrees(isFlipped ? 180 : 0), axis: (x: 0, y: -1, z: 0))
            .animation(.easeInOut(duration: 0.6), value: isFlipped)
            .onTapGesture {
                isFlipped.toggle()
            }
            .frame(width: 329, height: 480)
            
        }
    }
}

180๋„๊ฐ€ ๋Œ๋•Œ๋งˆ๋‹ค, ๋ณด์—ฌ์ค„ 2๊ฐœ์˜ ๋ทฐ๋ฅผ ZStack์•ˆ์— ๋‘๊ณ , 

Flip์˜ ๊ฒฝ์šฐ๋ฅผ Bool๋ณ€์ˆ˜๋กœ ๋‘๊ณ , ์ด ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋ณด์—ฌ์ค„ ๋ทฐ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

2. FrontView 

import SwiftUI

struct FrontView: View {
    var body: some View {
        ZStack{
            Rectangle()
                .fill(.blue)
                .cornerRadius(10)
            
            Text("์•ž์˜ ํ™”๋ฉด๐ŸŽ")
                .bold()
        }
        .frame(width: 200, height: 300)
    }
}

์•ž์˜ ํ™”๋ฉด์„ ๋ณด์—ฌ์ค„ Front View.

๊ทธ๋ฆฌ๊ณ  ์ด ๋ทฐ๋ฅผ ํ„ฐ์น˜ํ•˜๋ฉด, OnTapGesture์— ์˜ํ•ด ํ† ๊ธ€์ด ์ž‘๋™ํ•˜๊ณ 

ํ™”๋ฉด ์ „ํ™˜์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

 

3. BackView

import SwiftUI

struct BackView: View {
    var body: some View {
        ZStack{
            Rectangle()
                .fill(.green)
                .cornerRadius(10)
            
            Text("๋’ค์˜ ํ™”๋ฉด๐ŸŽ")
                .bold()
        }
        .frame(width: 200, height: 300)
    }
}

 

[ ๊ฒฐ๊ณผ ํ™”๋ฉด ] 

 

 

'๐ŸŽ iOS > SwiftUI' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SwiftUI] Onboarding ํ™”๋ฉด ๋งŒ๋“ค๊ธฐ  (0) 2024.08.10
[SwiftUI] Custom Alert View  (0) 2024.06.16
[SwiftUI] SwiftData  (0) 2024.04.22
[SwiftUI] TextEditor BackgroundColor ์ ์šฉ  (0) 2024.04.22
[SwiftUI] NavigationStack  (0) 2024.04.04