2014-06-12 2 views
0

UINavigationBar 아래로 확장 된 뷰가 있습니다. 이보기에는 탐색 모음 아래에 있어야하는 하위보기 (MrSubview)가 있습니다. UINavigationBar을 움직이면 컨트롤러 topLayoutGuide이 변경됩니다. 이 경우 MrSubview으로 이동하겠습니다.하위 UIView를 맨 위에 고정하십시오. 레이아웃 가이드

내 첫 번째 생각은 UIViewtopLayoutGuide으로 자동 레이아웃에서 사용할 수 있도록해야한다고 생각했지만 컨트롤러에 연결해서는 안됩니다.

이 작업을 수행하는 가장 좋은 방법을 찾고 있습니다.

UITableViewUIScrollView은 어떻게 작동하나요?

답변

0

UIScrollView (UITableViewUIScrollView의 하위 클래스 임) contentInset 속성을 사용합니다. view 속성이 UIScrollView 인 경우 UIViewController이 자동으로 처리 할 수 ​​있습니다.

컨트롤러의 view 속성이 스크롤보기가 아닌 경우 거의 viewWillLayoutSubviews 동안 UIViewController에 직접 구현해야합니다.

+0

UIScrollView로 전환해야하는 것처럼 보입니다. 컨트롤러의 자동 레이아웃에서 topLayoutGuide를 쉽게 사용할 수 있지만이를 UIScrollView에서 사용할 수 있습니다. viewWillLayoutSubviews에서 수직 공간 제약 조건을 조정하는 것보다 더 나은 방법을 생각할 수 있습니까? autolayout 만 사용하여 작업을 수행하려고합니다. – Onato

+0

맨 위 제약 조건에 대한 참조를 유지하고'viewWillLayoutSubviews' 중에 'constant' 값을 업데이트하여 자동 레이아웃 만 사용합니다. –

+0

하지만 자동 레이아웃 만 사용하는 것은 아닙니다. 또한보기를 사용하는 각보기 제어기에 코드가 필요합니다. – Onato

관련 문제