3

상태 표시 줄에 문제가 있습니다. 나는 UIViewController을 가지고 있는데, 안에 UITabBarController을 삽입 한 컨테이너보기가 있습니다. 컨테이너보기 컨트롤러 상태 표시 줄 iOS 7

Info.plist에 = YESView controller-based status bar appearance를 사용하여 내 응용 프로그램의 상태 표시 줄을 활성화

, 그것은, 예상대로 상태 표시 줄을 표시 UIViewController 루트로 정상 작동합니다.

그러나 컨테이너보기의 UITabBarController이 내보기 내용을 20 픽셀 아래로 밀어내어 상태 표시 줄이 있어야한다고 생각하는 부분에 대해 내 탭 표시 줄 위쪽에 간격을두고 있습니다.

물론 상태 표시 줄은 정상적으로 화면 상단에 표시되어 있기 때문에 표시되지 않습니다. 그래서 그것은 단지 컨테이너 뷰에 간격을 추가하는 것입니다.

모든 도움을 주시면 감사하겠습니다.이 문제를 해결하고 해결책을 찾을 수 없습니다.

감사합니다.

+0

하면 자동 레이아웃과 제약을 사용하고 문제를 해결할 것인가? – rvijay007

+0

예, 있습니다. 스토리 보드에서 모두 완료되었습니다. –

+0

제약 조건이 왼쪽에서 완전히 확장 된 상태에서 tabbarcontroller와 viewcontroller로 스토리 보드의 사진을 게시 할 수 있습니까? – rvijay007

답변

7

topLayoutGuide은 상태 표시 줄에 대해 내보기를 20 픽셀 아래로 밀었습니다. 상태 표시 줄을 예상했기 때문에 topLayoutGuide은이 20 픽셀 공간을 추가합니다.

내 스토리 보드에는 내보기 컨트롤러의 최상위 하위보기가 내보기의 맨 위로 고정하기위한 제한 사항이 있습니다. 이 제약 조건은 view top이고 topLayoutGuide bottom과 같습니다.

즉, topLayoutGuide이 20 픽셀 공간을 추가하면 내 전체보기가 그로부터 상쇄됩니다.

제약을 수정하여 topLayoutGuide top으로 수정하면 생성 된 공간이 이제는 문제를 일으키지 않는 정상적인 서브 뷰 바로 아래에있게됩니다. '위쪽 공간 :'

+0

선생님, 답장을 보내 주셔서 감사합니다. –

1

이와 비슷한 문제가 나 자신도 있었지만 문제는 탭 표시 줄 컨트롤러에있는보기가 컨트롤러 위쪽을 toplayoutguide와 일치시키는 것입니다. 컨테이너 뷰의 탭 컨트롤러에 대한 레이아웃 가이드의 길이는 여전히 20입니다.이 제약 조건을 제거하고 뷰가 상위 뷰 컨트롤러 뷰와 동일한 상단을 갖거나 높이/y-to-container를 부모보기 컨트롤러의보기와 동일하게 설정하십시오 (부모는 탭 컨트롤러를 포함하는보기 컨트롤러가 아니라 탭의보기 컨트롤러 임).

TabBarController --> RootViewController --> RootVCView --> subview

subview.height == to RootVCView.heightsubview.centerY == rootVCView.centerY을 확인합니다.

이것은 하나의 하위보기 만있는 간단한 경우를위한 것입니다. 하위보기에 상위 제한이있는 경우이 작업을 수행해야합니다. 스토리 보드 레이아웃에 대해 더 많이 알지 못하면이 솔루션을 제공 할 수 있습니다. 희망이 도움이됩니다!

+0

감사합니다. rvijay007. 솔루션이 청구서에 맞지 않지만 올바른 방향으로 안내해줍니다.나는'topLayoutGuide'에 대해 생각하지 않았습니다. 나는 내 대답을 모두 떠났어, 모두 해결 됐어, 고마워! –

0

은의 제약 조건 추가 할 컨테이너 뷰 "topLayoutGuide"을하고는