2011-08-26 3 views
2

뷰 사이의 흐름을 제어하는 ​​숨겨진 탐색 모음 인 세로 iPhone 앱이 있습니다. 한 가지보기에서보기를 가로 90 도로 회전해야하며 상태 표시 줄을 숨기고 싶습니다.UIStatusBar를 숨기면 화면에 빈 파란색 막대가 남습니다.

문제는 상태 표시 줄이 제대로 숨겨져있는 동안 상태 표시 줄이있는 화면 위쪽에 하늘색 연한 막대가 표시된다는 것입니다. 내보기는 실제로이 막대 아래에 앉아 화면을 채 웁니다.

보기의 크기로 재생 해 보았지만 이미 화면의 전체 크기로 설정되어 있습니다. 이 파란색 막대가 내 견해 위에있다.

내비게이션 막대와 상태 표시 줄을 모두 숨겨져있을 수 있습니까?

도움을 주시면 감사하겠습니다.

덩크

+0

무엇 보기의'frame' 속성이 반환됩니까? –

+0

나는 이것을 얻고있다 : frame = (-170 170; 480 320) – theDuncs

+0

Duncan의 해결책을 찾았습니까? 나는이 하나에 내 머리카락을 바르고있어 –

답변

3

당신이 숨겨진 네비게이션 바있는 UINavigationController가를 사용하는 경우는, 다음의 창에서 탐색 컨트롤러의 프레임을 조정해야하지 (A UINavigationBar 자체에 아무것도하지 않는다) 탐색 컨트롤러에서보기 컨트롤러의보기 프레임. 당신이 윈도우의 프레임을 사용하려면,

[[[self navigationController] view] setFrame:[[UIScreen mainScreen] bounds]]; 

또는 :

window (root view) 
    - statusBar 
    - navigation controller's view 
    - view controller's view 

가 상태 표시 줄을 숨길 때 뷰 컨트롤러에이 시도 : 다음은 뷰 계층이다

[[[self navigationController] view] setFrame:[[[UIApplication sharedApplication] keyWindow] bounds]]; 
+0

감사합니다 카메론. 방금 해봤 어. 그것은 UI 디스플레이에 어떤 차이도 만들지 않았습니다. 내비게이션 컨트롤러의 프레임은 상태 표시 줄이 숨기기 전후에 다음과 같이 설정됩니다. frame = (0 0; 320 480). 내가 확인해야 할 것 같아요? 뷰 계층 구조의 모든 프레임 설정을 살펴 보겠습니다. – theDuncs