2017-05-18 2 views
0

데이터베이스에서 확인한 후 3 개의 숨겨진 레이블이 있습니다. 해당 레이블의 값이 존재하는 경우에만 label.isHidden = false을 설정합니다.Swift에서 두 요소 사이의 자동 선행 공백

이 모든 레이블 그래서 확정을위한 자동 레이아웃에이 라벨의 위치를 ​​스토리 보드를 사용하고 올바른 값

하지만 난 이들 중 하나가 여전히 유지 숨겨진 경우 왼쪽으로 라벨을 당길 필요가있는 상황입니다 다른 레이블 공간.

방법 enter image description here

이 프로그램을 할 수 있나요 지금 찾고? 그렇다면 어떻게?

답변

1

StackView을 사용하십시오. 당신이 StackView.Rather를 사용하는 경우 당신은 당신이 숨기기를 클릭하면

enter image description here enter image description here

를 원하는 것을 찾을 수 피곤 자동 레이아웃을 할 필요가 없습니다.

enter image description here

표시

enter image description here

+0

StackView를 CollectionViewCell에 사용할 수 있습니까? – GaTz

+0

물론 가능합니다. –

+0

그러나 동일한 라벨 위치를 재현하는 방법은 무엇입니까? – GaTz

1

한이 인접 라벨 각 라벨에 대하여 정렬하는 것 달성하는 방법을 클릭하면 (예 label2.leading하는 label1.trailing).

레이블을 숨김으로 설정하는 대신 너비 제한을 0으로 설정하고 수퍼 뷰에서 layoutIfNeeded을 호출하면 다른 모든 레이블이 그에 따라 레이아웃됩니다.

0

레이블을 숨기려면 isHidden 대신이 공간을 처리하려면 StackView를 사용하십시오.

또한 AutoLayout을 사용하여 yourConstraint.constant = 0 또는 제약 조건의 우선 순위 속성을 사용할 수 있습니다.