SwiftUI에서 색상을 애니메이션하는 방법

2784 단어 iOSSwiftSwiftUI

개요



SwiftUI에서 화면 표시 후 색상이 변경되고 싶었기 때문에 그 방법을 설명합니다.
【데모】


방법


@State 에서 color를 모니터링할 수 있도록 합니다.
화면을 표시 할 때 onAppear가 호출되므로,withAnimation 를 사용하여 color 속성을 지정한 초 수에 걸쳐 변경합니다.
import SwiftUI

struct ContentView: View {

    @State private var color: Color = .blue

    var body: some View {
        Rectangle()
            .onAppear(perform: {
                // 画面が表示されたら3秒かけて赤色に変化させる
                withAnimation(.easeInOut(duration: 3), {
                    color = .red
                })
            })
            .foregroundColor(color)
            .ignoresSafeArea()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

버튼을 누르면 애니메이션으로 색을 변화시키고 싶다든가라면, onChange 로 검지하면 할 수 있을 것 같네요!

좋은 웹페이지 즐겨찾기