2016-09-01 1 views
1

클릭 한 버튼에 따라 아래 정보가 표시되는 가로 스크롤 메뉴가있는 앱을 만들었습니다. 레이블의 크기가 다양하기 때문에 세로 스크롤 뷰에 레이어 된 세로 UIStackView 내에 레이블을 배치했습니다. 그런 다음 스택보기의 레이블을 눌렀 던 단추에 따라 숨김 또는 표시로 설정합니다. 나는 스택 뷰가 빈 공간을 제거하면서 자동으로 크기를 조정한다고 생각했지만, 이것은 발생하지 않는다. 나도 같은 버튼을 클릭하는 경우에는, 다시 내용이 적절하게 크기를 조정 :숨겨진 콘텐츠가 Swift의 UIStackView 내에서 크기가 조정되지 않습니다.

After first click
내가 필요하지 레이블을 숨기기 전에 스택보기의 모든 내용을 밝혀 여러 변종을 시도 After second click

하고, 그 반대의 경우도 마찬가지이며, 차례대로 각 라벨을 개별적으로 숨기거나 드러내지 만 아무 것도이를 해결하지 못하는 것 같습니다. 내가 사용한 최신 코드는 다음과 같습니다. 아무도 도울 수 있다면 정말 고마워요?

감사

@IBAction func test1Button(sender: AnyObject) { 
    hideAllInfo() 
    label1.hidden = false 
} 

@IBAction func test2Button(sender: AnyObject) { 
    hideAllInfo() 
    label2.hidden = false 
    label3.hidden = false 
} 

func hideAllInfo() { 
    label1.hidden = true 
    label2.hidden = true 
    label3.hidden = true 
    label4.hidden = true 
    label5.hidden = true 
    label6.hidden = true 
} 

답변

0

나는 마침내 해결책을 찾을 수 있었다. 어떤 이유로 여러 개의 숨겨진 변수를 동시에 표시하면 자동 레이아웃에 문제가 발생합니다. 공개 된 모든 내용을 추가 스택보기에 배치하여 한 번에 하나의 항목 만 공개되도록 수정했습니다.

관련 문제