반응형

 

Hacking with Swift 사이트의 강좌 번역본입니다.

 

[원문 : https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-a-spring-animation]

 

How to create a spring animation

 

SwiftUI는 대상 포인트로 이동하고, 약간 더더 이동하고, 다시 튀어오르는 스프링(spring) 애니메이션을 기본적으로 지원합니다.

 

매개변수 없이 자체적으로 .spring() 을 사용하는 경우, 합리적인 기본값을 얻게됩니다. 따라서 다음은 버튼을 탭할때마다 45도 각도로 회전하는 스프링 애니메이션을 만듭니다.

struct ContentView: View {
    @State private var angle: Double = 0

    var body: some View {
        Button(action: {
            self.angle += 45
        }) {
            Text("Tap here")
                .padding()
                .rotationEffect(.degrees(angle))
                .animation(.spring())
        }
    }
}

 

스프링 애니메이션을 세밀하게 제어하려면, 관심잇는 매개변수를 전달하세요: 객체의 질량, 스프링이 딱딱한 정도, 탄력이 얼마나 느려지는지, 시작시 얼마나 빠르게 이동하는지. 

 

예를들어, 다음은 적당량의 스프링 댐핑(damping)으로 버튼을 만들며, 이는 목표 각도에 도달하기 전에 앞뒤로 튀어오를 것을 의미합니다.

Button(action: {
    self.angle += 45
}) {
    Text("Tap here")
        .padding()
        .rotationEffect(.degrees(angle))
        .animation(.interpolatingSpring(mass: 1, stiffness: 1, damping: 0.5, initialVelocity: 5))
}

 

주의 : 이는 덧붙이는(interpolating) 스프링이며, 애니메이션을 여러번 시작하는 경우에 스프링이 결합되어 스프링 효과가 더 강해질 것입니다.

반응형

'SwiftUI > Drawing' 카테고리의 다른 글

How to use UIBezierPath and CGPath in SwiftUI  (0) 2019.11.28
How to draw a checkerboard  (0) 2019.11.28
How to draw polygons and stars  (0) 2019.11.28
How to draw a custom path  (0) 2019.11.28
SwiftUI’s built-in shapes  (0) 2019.11.28
Posted by 까칠코더
,