반응형
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 |