2013-07-29 2 views
0

나는 하위 뷰로 UIViewController 뷰를 추가하는 UIView가있는 UIViewController가 있습니다. 예 :Autolayout - 자유형보기

UIViewController *vc = [[MyViewController alloc] init]; 
[my_view_in_xib addSubview:vc.view]; 

ViewControllers보기 및 하위보기에는 AutoLayout이 사용 설정되어 있습니다. 최상위 레벨이 올바르게 크기가 조정됩니다 (배경색을 빨간색으로 변경). 올바른 크기인지 알 수 있습니다. 그러나 XIB 파일의 하위 뷰에서 "크기"에 "자유 형식"또는 "없음"으로보기를 설정하고 상단에 테이블을 고정 & 하단 및 너비에 핀을 만들었지 만 높이 자동으로 보이지 않습니다. 크기를 조정 하시겠습니까?

제안 사항?

제임스

답변

1

크기를 조정할 때마다, 당신은 수퍼에 setNeedsLayout를 보내야합니다. 그렇지 않으면 레이아웃 시스템이 하위보기의 프레임을 다시 계산하지 않습니다. 에서

애플의 own words : 당신의 응용 프로그램의 인터페이스 변경의 방향을하지만 잘 으로 다른 시간에 발생할 수 있습니다 때 주로 크기 조정

보기가 발생합니다. 예를 들어, setNeedsLayout 메서드를 호출하면 뷰 의 레이아웃이 강제로 업데이트됩니다.