iOS 8 앱에서 상태 표시 줄 숨기기
나는 시도했다
[[UIApplication sharedApplication] setStatusBarHidden:YES];
이것은 아무것도하지 않습니다.
그리고 내 Info.plist
파일에서 "컨트롤러 기반 상태 표시 줄 모양보기"를 찾았 지만 거기에 없습니다.
Xcode 6 용 앱에서 화면 상단의 흰색 상태 표시 줄 (시계 및 배터리 충전 포함)을 숨기려면 어떻게해야합니까? 감사합니다!
해당 plist 항목이없는 경우 각 뷰 컨트롤러에서이 메서드를 재정의해야합니다.
목표 -C
-(BOOL)prefersStatusBarHidden{
return YES;
}
스위프트 2
override func prefersStatusBarHidden() -> Bool {
return true
}
Swift 3+
override var prefersStatusBarHidden: Bool {
return true
}
그리고 설정하는 것을 잊지 마십시오 ( presentViewController : animated : completion : 메소드 를 호출하여 뷰 컨트롤러를 제공하는 경우 ) :
목표 -C
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = YES;
빠른
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = true
일부 컨테이너 뷰 컨트롤러 (예 : UINavigationController
또는 UIViewController
자식 뷰 컨트롤러)에서 상태 표시 줄을 변경하고 상태 표시 줄을 담당하는 뷰 컨트롤러를 변경하려면 childViewControllerForStatusBarHidden:
속성 을 사용해야 합니다. 예 :
항상 상태 표시 줄 관리를 담당하는 첫 번째보기 컨트롤러 인스턴스 설정
목표 -C
- (UIViewController *)childViewControllerForStatusBarHidden {
return childViewControllers.first; // or viewControllers.first
}
스위프트 2
override var childViewControllerForStatusBarHidden() -> UIViewController? {
return childViewControllers.first // or viewControllers.first
}
Swift 3+
override var childViewControllerForStatusBarHidden: UIViewController? {
return childViewControllers.first // or viewControllers.first
}
상태 표시 줄 관리를 담당하는 컨테이너보기 컨트롤러 설정
목표 -C
- (UIViewController *)childViewControllerForStatusBarHidden {
return nil;
}
스위프트 2
override func childViewControllerForStatusBarHidden() -> UIViewController? {
return nil
}
Swift 3+
override var childViewControllerForStatusBarHidden: UIViewController? {
return nil
}
- Info.plist 파일로 이동
- 해당 줄 중 하나를 가리키면 [+) 및 (-) 버튼이 표시됩니다.
- 더하기 버튼을 클릭하여 새 키를 추가하세요.
- Type in start with capital V and automatically the first choice will be View controller-based status bar appearance. Add that as the KEY.
- Set the VALUE to "NO"
- Go to you AppDelegate.m for Objective-C (for swift language: AppDelegate.swift)
- Add the code, inside the method
For Objective-C:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application setStatusBarHidden:YES];
return YES;
}
For Swift:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey:Any]?) -> Bool {
application.statusBarHidden = true
return true
}
Done! Run your app and no more status bar!
You can hide the status bar without writing a single line of code, it just requires two entries into the info.plist the first is
"View controller-based status bar appearance" set to NO
the second is
"Status bar is initially hidden" set to YES
You can add that row to your Info.plist file if it isn't there. Just go to the project in Xcode, go to the "Info" section, and hover over one of the existing rows. A "+" button should appear, allowing you to add a line and input "View controller-based status bar appearance".
For iOS 10 with Swift 3 you should use:
override var prefersStatusBarHidden: Bool {
get {
return true
}
}
- Open info.plist
- "View controller-based status bar appearance" set to NO
- "Status bar is initially hidden" set to YES
- Done
No need to write a line of code...Cheers
If you use UIDocumentInteractionController to show data then you never hide status bar so i have alternate of this
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
this line change the color of status bar content into white
참고URL : https://stackoverflow.com/questions/26146012/hide-status-bar-in-ios-8-app
'development' 카테고리의 다른 글
C ++의 문자열에서 파일 확장자를 얻는 방법 (0) | 2020.10.22 |
---|---|
NSDate를 사용하여 요일 가져 오기 (0) | 2020.10.22 |
가장 좋아하는 MATLAB / Octave 프로그래밍 트릭은 무엇입니까? (0) | 2020.10.22 |
DateTime.ToString ()을 사용할 때 요일 접미사 얻기 (0) | 2020.10.22 |
Mac OS Sierra 10.12에 Nokogiri를 설치하는 방법 (0) | 2020.10.22 |