2017-09-15 1 views
0

2 개의 애니메이션을 사용하고 있습니다. 화면이 시작되면 첫 번째 애니메이션은 viewDidLoad에서 시작됩니다.이미지를 초기 크기로 조정하십시오.

이 애니메이션은 layer2layer3이라는 2 개의 이미지에 적용됩니다.

func firstAnimation(){ 
     UIView.animate(withDuration: 1, delay: 0, options: 
      UIViewAnimationOptions.repeat , animations: { 

       self.layer2.transform = CGAffineTransform(scaleX: 1.5, y: 1.5) 
       self.layer3.transform = CGAffineTransform(scaleX: 2, y: 2) 
     }, completion: { finished in 

     }) 
    } 

layer0 불리는 화상 길게 누르면

은 다음 firstAnimation()이 코드에 의해 중지되고 :

layer2.layer.removeAllAnimations() 
layer3.layer.removeAllAnimations() 

다른 애니메이션 layer2layer3 적용되고있다. 내가 다시 첫 번째를 두 번째 애니메이션을 삭제하고 시작하려고 할 때

두 번째 애니메이션

func secondAnimation() { 
     UIView.animate(withDuration: 20, delay: 0, options: 
      UIViewAnimationOptions.curveEaseOut , animations: { 

       self.layer2.transform = CGAffineTransform(scaleX: 10, y: 10) 
       self.layer3.transform = CGAffineTransform(scaleX: 10, y: 10) 

     }, completion: { finished in 

     }) 
    } 

이며, 2 개 이미지 레이어 2 및 레이어 3은 때문에 두 번째 애니메이션의 얻은 크기에서 시작하고있다. 이미지의 초기 크기로 첫 번째 애니메이션을 다시 시작하는 방법은 무엇입니까?

답변

0

CGAffineTransform.identity을 사용하여 원래 크기로 변환 된보기를 다시 설정할 수 있습니다. 예를 들어

:

layer2.transform = .identity 
+0

완벽한 솔루션입니다. 고마워. – mahdi

관련 문제