2017-01-12 1 views
-2

아래의 코드를 사용하여 아래에서 모든 뷰 아웃렛에 애니메이션을 적용하려고합니다 (콘센트는 맨 아래부터 시작하여 1 초 내에 뷰를 채워야합니다). 그러나 아무리 많은 시간을들이더라도 애니메이션이 적용되지 않고 모든 것이 즉시 표시됩니다.UiView.animateWithDuration Swift Animating되지 않음

  • 기간이 존중되지
  • 조차 지연이
  • 애니메이션이 발생되지 존경 : 나는 다음났습니다. 구성 요소가 바로 viewDidAppear (_ 애니메이션 : BOOL) FUNC

    재정 주심 {

    super.viewDidAppear(animated); 
    UIView.animate(withDuration: 1, animations: { 
    
        self.topConstraint.constant = 0; 
        self.imageView.frame.origin.y = 1024; 
        self.view.setNeedsLayout(); 
    }) 
    
+0

1. 작동하지 않았다. 2. 1-2 초, 3. 나는 이미 알고있다. 감사 – iThinkDifferent

답변

0

당신은 self.imageView.frame.origin.y = 1024;를 제거해야하고, 애니메이션 블록 전에 self.topConstraint.constant = 1024;을 설정

0

는 나 자신이 문제를 파악 .

super.viewDidAppear(animated); 

    UIView.animate(withDuration: 1, animations: { 
     self.topConstraint.constant = 0; 
     self.view.layoutIfNeeded() 
     self.imageView.frame.origin.y = 1024; 
     self.view.setNeedsLayout(); 
    }) 
    } 
관련 문제