2017-04-24 1 views
1

내 앱에는 애니메이션이 필요하지만 이미 애니메이션이되어있는 경우에는 재생 시간이 필요하지 않다. 하지만 내 문제는 그것이 자동으로 기간을 추가한다는 것입니다.원하지 않는다해도 애니메이션 시간이 빠르다. (자동?)

여기서 두 개의 함수를 볼 수 있습니다. 두 번째 함수는 두 번째 함수를 볼 수 있지만 두 번째 함수에는 두 번째 함수가 있지만 첫 번째 함수에는 두 번째 함수가 있고 두 번째 함수에는 길이가 있습니다. 30 초로 설정하면 여전히 매우 빠르게 움직입니다.

내가 뭘 잘못하니, 미리 감사드립니다!

func openMessage() { 
    UIView.animate(withDuration: 0.6, delay: 0.0, options: [], animations: { 
     var t = CATransform3DIdentity; 
     t = CATransform3DMakeRotation(CGFloat(3 * Float.pi/4), 0, 0, 1) 
     self.moveableLineLayer.transform = t; 
    }, completion:{(finished:Bool) in }) 
} 

func openMessageWithoutAnimation() { 
    self.moveableLineLayer.transform = CATransform3DIdentity 
    var t = CATransform3DIdentity; 
    t = CATransform3DMakeRotation(CGFloat(3 * Float.pi/4), 0, 0, 1) 
    self.moveableLineLayer.transform = t; 
} 

답변

1

velocity 매개 변수를 사용해보십시오.

속도

초기 봄 속도 : 문서에서. 애니메이션을 부드럽게 시작하려면이 값을 첨부 전에보기의 속도와 일치시킵니다. 값 1은 1 초에서 가로 지르는 총 애니메이션 거리에 해당합니다. 예를 들어 총 애니메이션 거리가 200 포인트이고 애니메이션의 시작이 뷰 속도 100pt/s와 일치하도록하려면 0.5 값을 사용합니다.

+0

답장을 보내 주셔서 감사합니다.하지만이 매개 변수를 사용하려면 어떻게해야합니까? 그것을 변환에 추가하는 방법과 애니메이션없이 설정하는 방법을 찾을 수 없습니까? – MaximVW

+0

방금 ​​코드를 테스트했는데 정상적으로 수행 된 것으로 보입니다. 'openMessage()'함수는 당신이 언급 한 것처럼 30 초 내에 설정을하는 경우에도 지속 시간을 적용합니다. 어쩌면 함수를 호출 할 때 다른 애니메이션으로 재정의 할 수 있습니다. –

+0

정말 다른 애니메이션을 덮어 쓰지는 않습니다.이 메서드를 호출하고 있습니다. 매우 이상하다. – MaximVW

관련 문제