2011-11-26 2 views
2

인터페이스 빌더에보기가 배치되어 있습니다. 원래 인터페이스 빌더의 뷰 상단에 StatusBar가 추가되었습니다. 이제 상태 표시 줄을 없애기로 결정했는데iPhone 숨기기 상태 표시 줄이 20 픽셀 아래로 이동합니다.

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];  

내보기는 여전히 20 포인트 아래로 이동했습니다. 내 생각 엔 내 UINavigationController 메시지를 가져 오지 않고 이전 위치에서 내보기를 유지합니다.

다른 사람이이 문제의 원인에 대해 파악하고 있습니까? 내가 해봤

self.view.center = CGPointMake(self.view.center.x, self.view.center.y-21); This does not work. 

:

나는 시도

self.view.center = CGPointMake(self.view.center.x, self.view.center.y-21); 

이 작동을하지만, TabBar의 전에 buttom의에 검은 20 픽셀 줄을 남긴다.

모든보기를 21px 수동으로 조정하지 않아도 내보기를 상태 표시 줄없는 모드로 전환하려면 어떻게해야합니까?

추신. 보기 용 UINavigationController를 만들기 전에 응용 프로그램 대리인의 상태 표시 줄을 제거하면보기가 완벽하게 표시됩니다.

+0

마지막 두 코드 스 니펫의 차이점은 무엇입니까? – Ryan

+0

xib에서 높이를 변경 했습니까? –

+0

[AppDelegate에서 호출 할 때 [Subview 이동 20 픽셀 아래로]의 가능한 중복] (http://stackoverflow.com/questions/2231719/subview-shifting-down-20-pixels-when-called-in-appdelegate) –

답변

8

당신은 여분의 20 픽셀을 차지할 수 있도록해야

[myViewController setWantsFullScreenLayout:YES]; 

를 호출 할 수 있습니다.

+0

이것은 내가 찾고있는 것으로 보입니다! –

+2

상태 표시 줄이있는 경우에도이 옵션을 사용해야 할 수도 있습니다.이 옵션을 선택하지 않은 상태에서 다른 VC의 하위보기에 포함 된 VC가있는 경우 IB는 이러한 하위 VC의보기에 20pt의 여백이 필요하다고 생각하는 것 같습니다. 이 경우 "전체 화면 사용"은 "채우기보기 포함"을 의미합니다. 희망이 누군가를 돕는 ... –

+0

하리 말이 맞아. 나 자신을 위해 적어도. 이것이 내가해야 할 일이다. 내가보고 있던 결함은 상태 표시 줄을 숨긴 후 탐색 막대가 20px 위로 이동하지 않는 것이 었습니다. – Ryan

0

인터페이스 작성기에는 '사용자 인터페이스 요소 시뮬레이션'옵션이 있습니다. 여전히 '상태 표시 줄'을 시뮬레이트합니까? 실제보기에 상태 표시 줄이 표시되지 않으면 해당 옵션을 선택 취소해야합니다.

+0

옵션을 선택 취소했지만보기가 여전히 엉망입니다. –

관련 문제