Property-Based Animation

윤주현·2023년 7월 1일
0

Animation

목록 보기
1/4

Constraint Based Animation

애니메이션이 시작하기 전과 후의 프로퍼티의 constraint 값의 차이를 두어서 효과를 줄 수 있다.

    var leadingEdgeOffScreen: CGFloat = -1000 // 애니메이션 시작 전 constraint 값
	var leadingEdgeOnScreen: CGFloat = 16 // 애니메이션 시작 후 constraint 값

    // leading anchor 값을 변경하기 위해 변수로 설정
    var titleLeadingAnchor: NSLayoutConstraint? 
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        animate()
    }
    
    titleLeadingAnchor = titleLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: leadingEdgeOffScreen)
    titleLeadingAnchor?.isActive = true
    
    private func animate() {
        let animator1 = UIViewPropertyAnimator(duration: duration, curve: .easeInOut) {
            self.titleLeadingAnchor?.constant = self.leadingEdgeOnScreen
            // 레이아웃 업데이트 됐다고 알리는 것
            self.view.layoutIfNeeded()
        }
        animator1.startAnimation()
	}

0개의 댓글

관련 채용 정보