2010-01-17 4 views

답변

0

UIAlertView과 같은 효과를 만들려는 경우이 작업을 수행 할 수 있다고 생각하지 않습니다. http://bugreporter.apple.com에 Apple과 함께 기능 향상 요청을 제출할 수 있습니다.

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO] 

당신이 그것을 필요로 할 때 다시 보여 당신이 할 수있는

+0

이것은 할 수 있습니다. UIWindow 만 사용하십시오. 나는 내가 사용하는 방법으로 답을 추가했다. – Sahil

2

가장 좋은 것은과 상태 표시 줄을 숨길 수 있습니다.

기본적으로보기를 제거하려는 경우 언제든지 removeFromSuperview 수 있습니다.

+1

해당 API는 제공되지 않습니다. 대체는'setStatusBarHidden : withAnimation :'입니다. – ThomasW

6

나는 오랫동안 이것을하는 방법을 너무 싸우고 있었다!

UIWindow *keyWin = [UIApplication sharedApplication].keyWindow; 
UIWindow *hudWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0.0f, 0.0f, keyWin.frame.size.width, keyWin.frame.size.height)]; 
hudWindow.backgroundColor = [UIColor blackColor]; 
hudWindow.alpha = 0.60; 
[hudWindow setWindowLevel:10000.0f]; 
[hudWindow setHidden:NO]; 

가 즐기십시오 : 마지막으로 다른 모든 창/뷰/상태 표시 등의 위에 사는 있도록 :) 키는 정말 최고에 새 창 windowLevel을 설정하는 것입니다 그것을 알아 냈다!

+0

좀 더 자세히 살펴보면 windowLevel 속성에 특정 수준을 나타내는 몇 가지 상수가 있다는 것을 알게되었습니다 : const UIWindowLevel UIWindowLevelNormal; const UIWindowLevel UIWindowLevelAlert; const UIWindowLevel UIWindowLevelStatusBar; UIWindowLevelStatusBar가 트릭을 찾았습니다. – Sahil

+0

앱이 시작될 때'keyWindow'를 호출하면 값이 nil 일 수 있습니다. 윈도우 프레임을 얻으려면'[[UIScreen mainScreen] bounds]'를 사용하는 것이 더 낫다. – ThomasW

+0

키보드가 화면에 있으면 작동하지 않습니다. – RaffAl

0

멋진데, 나는이 두 가지 변경을했습니다. UIWindowLevel에 1.0을 추가하면 여전히 상태 표시 줄이 숨겨지고 그 이유는 모르겠습니다.

self.windowLevel = UIWindowLevelStatusBar+2.0f; 

self.userInteractionEnabled = NO; 

는 스크롤 뷰 누군가가이 상태 표시 줄에 탭 때 맨 위로 스크롤 할 수 있도록 할 것이다 NO에 상태 표시 userInteractionEnabled 속성을 설정.