문제

는 현재 자동 레이아웃이있는 Facebook 팝 프레임 워크를 사용하는 방법이 있습니까? 아니면 스프링과 스트럿을 사용해야합니까?나는 그것이 가능하다는 것을 계속 읽지만, 구문이 뷰의 상위 제약 조건을 애니메이션 할 수있는 것이 무엇인지 모른다.

도움이 되었습니까?

해결책

이 경우 NSLAYOUTCONSTRAINT를 애니메이션으로 애니메이션으로 수행 할 수 있습니다. POP로 다음을 수행하고 제약 조건을 움직일 수 있습니다. POPSPRINGANIMATION이 제약 조건 자체 에 추가됩니다.

NSLayoutConstraint *constraint = // this is an NSLayoutConstraint that is applied to some view

POPSpringAnimation *layoutAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPLayoutConstraintConstant];
layoutAnimation.springSpeed = 20.0f;
layoutAnimation.springBounciness = 15.0f;
layoutAnimation.toValue = @(value to go too);
[constraint pop_addAnimation:layoutAnimation forKey:@"detailsContainerWidthAnimate"];
.

사용할 주요 특성은 위에 표시된 것처럼 kpoplayoutConstraintConstant입니다.따라서 자동 레이아웃 제약 조건 에서이 작업을 수행하려면이 제약 조건 속성을 사용할 수 있습니다.

스케일 및 기타 속성을 사용하는 작업은 AutoLayout에서도 작동하므로 AutoLayout에서 작업 할 팝업이있는 문제가 없어야합니다.

다른 팁

autolayout로 POP 애니메이션을 구현하는 올바른 방법은 translatesAutoresizingMaskIntoConstraints

를 초기화하는 것입니다.

Swift-3에서 코드는 이렇게 보입니다. 'self.menufooterConstant가 스토리 보드에 대한 UI 제약 조건을 참조하는 것으로 가정합니다.

        if let anim = POPSpringAnimation(propertyNamed: kPOPLayoutConstraintConstant) {
        anim.toValue = 142
        anim.springSpeed = 20
        anim.springBounciness = 15
        self.menuFooterConstant.pop_add(anim, forKey: "animationForTrendfooter")

    }
.

제약 조건을 직접 애니메이션 할 수 있습니다.팝업으로 kpoplayoutconstraintconstant 속성 이름을 사용하십시오.애니메이션을 설정하고 제약 조건 자체에 추가하십시오.

제약 조건 자체에 애니메이션을 추가하지 않으려면 다음을 명심해야합니다.

보기 제약 조건을 업데이트하는 것을 잊지 마십시오

제약 조건 기반 레이아웃 규칙을 사용하여 뷰의 위치를 관리하는 경우 애니메이션을 구성하는 일부로 애니메이션을 방해 할 수있는 제약 조건을 제거해야합니다.제약 조건은 뷰의 위치 또는 크기에 대한 변경 사항에 영향을 미칩니다.그들은 또한보기와 자식 뷰 사이의 관계에 영향을 미칩니다.해당 항목에 대한 변경 사항을 해당 항목에 애니메이닝하는 경우 제약 조건을 제거하고 변경을 수행 한 다음 새로운 제약 조건이 필요한 모든 기능을 적용 할 수 있습니다.

* Apple 문서에서

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top