2017-03-21 8 views
0

내 앱에서 애니메이션 효과로 Spring library을 사용하고 있습니다.애니메이션을위한 iOS "Spring"라이브러리에서 "animate()"메소드를 호출하기 전에 매번 "animation"속성을 설정해야합니까?

제 경우에는 버튼을 움직이게해야하므로 다음 코드 블록을 추가했습니다.

override func viewDidLoad() { 
    super.viewDidLoad() 
    setOptions() 
} 
func setOptions() { 
    testButton.animation = Spring.AnimationPreset.Shake.rawValue 
    testButton.curve = Spring.AnimationCurve.EaseIn.rawValue 
} 
@IBAction func testButtonPressed(_ sender: Any) { 
    animateView() 
} 

위의 코드 흐름에서 애니메이션 작업은 한 번만 발생합니다.

그러나 다음과 같이 나는 "testButtonPressed"방법을 업데이트 할 경우,

@IBAction func testButtonPressed(_ sender: Any) { 
    setOptions() 
    animateView() 
} 

애니메이션 내가 testButton을 누를 때마다 발생합니다.

매번 애니메이션 속성을 업데이트해야하는 이유는 무엇입니까? 속성을 한 번만 업데이트하는 것으로 충분하지 않습니까?

답변

0

라이브러리에서 resetAll은 애니메이션 유형과 애니메이션 실행 후 모든 속성을 제거합니다. 이 메소드는 Spring 파일의 애니메이션 블록 완료시 호출됩니다.

여기에 해당 파일 Spring에 대한 링크와 애니메이션을 제거하는 함수의 복사본이 있습니다.

func resetAll() { 
    x = 0 
    y = 0 
    animation = "" 
    opacity = 1 
    scaleX = 1 
    scaleY = 1 
    rotate = 0 
    damping = 0.7 
    velocity = 0.7 
    repeatCount = 1 
    delay = 0 
    duration = 0.7 
} 

희망 사항은 애니메이션 유형을 재설정 할 때까지 애니메이션이 삭제 된 이유를 이해하는 데 도움이됩니다.