동적 상수/배율과 함께 자동 레이아웃 제약 조건 (NSLayoutConstraint
)을 사용할 수 있습니까?동적 레이아웃 제약 조건?
예를 들어,이 늪지 표준 NSLayoutConstraint
것이다 :
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:obj1 attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:obj2 attribute:NSLayoutAttributeLeft multiplier:1 constant:scrollView.contentOffset.x];
제 한 것이다 : 여기에
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:obj1 attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:obj2 attribute:NSLayoutAttributeLeft multiplier:1 constant:0];
상수에 해당 제약 조건의 변경하지만 동적 변수 것을 scrollview
의 contentOffset
을 가져 와서 상수로 사용하십시오. 그러나 이것을 시도한 후에는 제약 조건이있을 때 존재하는 오프셋 만 사용합니다.
스크롤 막대가 스크롤 할 때 제약 조건 상수를 업데이트하고 싶습니다. 이 방법을 사용하면 최신의 contentOffset
을 계속 사용할 수 있습니다.
이것이 가능합니까? 감사.
감사합니다. Fogmeister. 이것은 훌륭한데, 비록 layoutIfNeeded를 호출 할 필요는 없지만, 이것 없이는 작동합니다. –
@ JoshKahane 확인해 주셔서 감사합니다. 때로는 필요할 수 있습니다. 예를 들어 제약 조건을 애니메이션화하려면 제약 조건을 변경해야합니다 ** 외부 ** 애니메이션 블록을 호출 한 다음 ** it 내부에서 'layoutIfNeeded'를 호출하십시오. 반 직관적 인 (오늘날의 키워드) 것으로 보이므로 무언가가 작동하지 않는다고 생각하면주의하십시오. – Fogmeister
고맙습니다. 그 이유는 애니메이션을 필요로하기에 충분히 빈번하게 업데이트하고 있었기 때문에'scrollViewDidScroll'에서 상수를 업데이트했기 때문이라고 생각합니다. –