방금 iPhone 5 iOS 7을 4 개의 베타 버전으로 업그레이드했습니다. 이제이 iPhone의 Xcode 5에서 내 응용 프로그램을 실행하면 상태 표시 줄이 숨겨져 있지 않아도 숨겨지지 않습니다.
작동하지 않는:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
작동하지 않는:
[UIApplication sharedApplication].statusBarHidden = YES;
Apple 개발자 포럼에 로그인 할 수 없습니다
답변
앱 plist 파일에서 행을 추가하여 “컨트롤러 기반 상태 표시 줄 모양보기”라고 부르고 NO로 설정하십시오.
앱에서 UIImagePickerController를 사용하는 경우에는 작동하지 않습니다.
에서 http://www.openfl.org/developer/forums/general-discussion/iphone-5ios-7-cant-hide-status-bar/ , mgiroux의 솔루션
답변
뷰 컨트롤러에 메소드를 추가하십시오.
- (BOOL)prefersStatusBarHidden {
return YES;
}
답변
Plist에서 다음 특성을 추가하십시오.
-> Status bar is initially hidden
= 예
-> View controller-based status bar appearance
= 아니요
둘 다 추가하십시오-이제 상태 표시 줄이 사라집니다.
답변
단일보기에서 상태 표시 줄을 숨기려면 다음을 사용해야합니다.
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
처음에는 이것이 나를 위해 작동하지 않았 으며이 방법의 설명서에서 다음과 같은 내용을 보았습니다.
이 키 View controller-based status bar appearance
세트를에 추가하여 plist 파일에서 수행 해야 NO
합니다. 그리고는 효과가있었습니다.
답변
레거시 UIApplication 메서드를 사용하여 상태 표시 줄을 숨기거나 표시하려면 앱에서 iOS 7의 plist 값을 설정해야합니다.
View-Controller Based Status Bar Appearance = NO
이 값은 기본적으로 YES로 설정되어 있습니다. NO로 변경하면 레거시 방법을 사용할 수 있습니다. YES로 설정하면 상태 표시 줄을 숨길 수는 있지만 앱의 각 뷰 컨트롤러 하위 클래스가 재정 의하여 prefersStatusBarHidden
YES를 반환합니다.
앱에 상태 표시 줄 모양이나 가시성이 변경되어야하고 View-Controller Based Status Bar Appearance가 YES로 설정 될 때마다 가장 바깥 쪽보기 컨트롤러는 다음을 호출해야합니다.
setNeedsStatusBarAppearanceUpdateAnimation
답변
iOS7에서 상태 표시 줄을 숨기려면 2 줄의 코드가 필요합니다
-
응용 프로그램 :
(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
쓰기[application setStatusBarHidden:YES];
-
info.plist에 이것을 추가하십시오
View-Controller Based Status Bar Appearance = NO
답변
이 문제에 대해 제안 된 많은 조합이 있지만 문제는 iOS 6과 7이 다른 방법을 사용하여 상태 표시 줄을 숨기는 것입니다. iOS 7에서 iOS6 스타일 동작을 사용하도록 plist 설정을 설정 한 적이 없었지만 iOS 6 이상을 지원하도록 앱을 빌드하는 경우 특정 뷰 컨트롤러가 상태를 숨기려면 한 번에 3 가지 방법을 사용해야합니다 바:
// for ios 7
- (BOOL)prefersStatusBarHidden{
return YES;
}
// for ios 6
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// explicitly set the bar to show or it will remain hidden for other view controllers
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
이것은 plist 설정에 관계없이 작동합니다.