2012-11-19 1 views
2

을 wantsFullScreenLayout :IOS, 내가 예를 들어, modalViewController을 제시하고 화면 전체를 커버 만들려고 보이는 상태 표시 나는 다음과 같은 문제에 직면하고있어

[controller setWantsFullScreenLayout:yes]; 
[myNavController presentModalViewController:controller animated:yes]; 

결과는 컨트롤러가 전체를 커버하지 않는다는 것입니다 화면 상단에 상태 표시 줄이 표시됩니다. 나는 이것이 왜 일어나는 지 정말로 이해하지 못합니다. 이 추가

답변

6

속성은 상태 표시 줄을 숨기지 않으므로보기 컨트롤러가 뒤로 보이게됩니다. 또한 탐색 막대와 같은 항목 뒤에 배치됩니다.

enter image description here

당신이보기의 modalPresentationStyle 속성을 설정해야합니다 모달 뷰 컨트롤러 전체 화면을 만들려면 : 이것의 예는 사진 상태 및 탐색 막대 뒤에 나타납니다 내장 된 사진 앱입니다 컨트롤러는 UIModalPresentationFullScreen입니다. 이 기능을 사용하면 wantsFullScreenLayout을 설정할 필요가 없거나 설정할 필요가 없을 것입니다.

상태 표시 줄을 숨기려면 setStatusBarHidden:withAnimation: 메서드를 UIApplication으로 사용해야합니다.

+2

모달 뷰를 표시하기 전에 wantsFullScreenLayout을 호출하는 것이 필수입니다. 그렇지 않으면보기가 전체 화면으로 크기가 조정되지 않습니다. –

+0

보 루트가 정확합니다. iOS 5 및 6 iPhone에서 시험 사용 –

1

시도 : 또한

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

, 당신은 항상 숨겨져 응용 프로그램이 시작할 때, 당신의 PLIST 파일에서 YESStatus bar initially hidden를 추가합니다.