2016-10-11 2 views
0

이에 대한 답변을 찾을 수 없거나 뭔가 누락되었습니다 ...UIView 콘텐츠 크기 조정

스토리 보드의 자동 레이아웃이있는 iOS에서. 일부 컨트롤이있는 UIView가있는 경우 사용자가 클릭하는 내용에 따라 하위 뷰의 크기가 조정됩니다. 어떻게해도 컨텐츠에 대한 superview의 크기를 조정할 수 있습니까?

내 앱에는보기가 있지만 버튼을 클릭하면 하위보기가 숨겨져 있습니다. 숨겨진보기를 제외하려면 수퍼 뷰의 높이를 낮추고 싶습니다. 높이 제약 조건을 연결하고 프로그래밍 방식으로 처리 할 수 ​​있지만 자동으로 처리하는 것이 좋을 것입니다 ....

방법이 있습니까?

답변

0

수퍼 뷰의 크기와 하위보기의 크기를 관련시키는 제약이 있다고 가정 할 수 있습니까?

그렇다면 하위보기를 숨길 때 하위보기의 크기 제한을 변경해야합니다. 하위보기의 높이 제한을 0으로 변경하십시오 (자동 레이아웃은 하위보기가 숨겨져 있는지 여부는 신경 쓰지 않습니다. 고려 사항).

0

당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

당신은 크기에 "anotherView"로 변경됩니다이 경우 "yourView"에 buttonAction

yourView.frame = CGRect(x: anotherView.bounds.minX, y: anotherView.bounds.min, width: anotherView.bounds.width , height: anotherView.bounds.height) 

이 코드를 넣어 시도 할 수 있습니다.

yourView.frame = CGRect(x: anotherView.bounds.minX, y: anotherView.bounds.min, width: anotherView.bounds.width , height: anotherView.bounds.height/2) 

이 예에서는 높이를 "anotherView"프레임의 1/2로 변경합니다.

희망이 조금 있습니다.

0

내가 뭔가를 잃어버린 ..

내가하지 않았다 무엇도 당신이 내용을 그것의 높이를 설정하지 않은 경우 그 내용에 대한 크기를 조정 하단의 제한이있을 것이다이었다 보기.

그래서 숨겨진 컨트롤의 높이를 0으로 설정하고 맨 아래 컨트롤 제한을 부모 아래쪽에 설정했습니다.