IT Share you

iOS에서 상태 표시 줄을 숨기는 방법은 무엇입니까?

shareyou 2020. 12. 5. 10:59
반응형

iOS에서 상태 표시 줄을 숨기는 방법은 무엇입니까?


내 앱에서 상태 표시 줄을 숨길 수 있습니다.

- (void)viewDidLoad{
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
    [super viewDidLoad];
    }

시작 이미지를 선택하고 처음 시작하면 사진 위에 상태 표시 줄이 표시됩니다. 어떻게 숨길 수 있습니까?


뷰 컨트롤러에 다음 코드를 추가합니다.

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
    // iOS 7
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
    // iOS 6
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

- (BOOL)prefersStatusBarHidden {
    return YES;
}

이 코드를 루트 뷰 컨트롤러가 아닌 AppDelegate 파일에 추가해야합니다.

또는 속성 상태 표시 줄이 처음 에 plist 파일에 숨겨져 있습니다.

여기에 이미지 설명 입력

여러분, iOS 7 이상

이것을 info.plist 파일에 추가하십시오. 차이를 만들 것입니다. :)

UIStatusBarHidden UIViewControllerBasedStatusBarAppearance

여기에 이미지 설명 입력

iOS 11.4 이상 및 Xcode 9.4 이상

하나 또는 모든 뷰 컨트롤러에서이 코드를 사용하십시오.

var prefersStatusBarHidden 재정의 : Bool {return true}


저에게 도움이 된 것은 (plist 파일 변경)입니다.

  1. 설정 상태 표시 줄은 처음 YES = 숨겨져
  2. 행 추가 : 컨트롤러 기반 상태 표시 줄보기 = 아니요

상태 표시 줄 숨기기-plist 설정


상태 표시 줄을 숨기는 뷰 컨트롤러에이 코드를 넣으십시오.

- (BOOL)prefersStatusBarHidden {return YES;}

iOS 7에서 상태 표시 줄의 모양은 UIViewController기본값에 따라 다릅니다 . 전체적으로 상태 표시 줄을 숨기려면 키에 값을 info.plist사용하고 NO과 함께 메서드를 사용 합니다.UIViewControllerBasedStatusBarAppearanceUIApplicationsetStatusBarHiddenYES BOOL


"info.plist"의 드롭 다운 목록에서이 키 키를 추가하면 GSM, Wi-Fi 아이콘 등과 같은 요소를 포함하는 상단 표시 줄이 더 이상 표시되지 않습니다.
여기에 이미지 설명 입력


info.plist

View controller-based status bar appearance NO
Status bar is initially hidden YES

view controller.m

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

iOS 5, 6, 7을 지원하고 있습니다. 내 앱은 iPad 전용입니다. 다음을 모두 사용해야했습니다.

[[UIApplication sharedApplication] setStatusBarHidden:YES];

컨트롤러보기 :

- (BOOL)prefersStatusBarHidden{ return YES; }

Info.plist

    <key>UIStatusBarHidden</key>
    <string>YES</string>

    <key>UIStatusBarHidden~ipad</key>
    <true/>

    <key>UIViewControllerBasedStatusBarAppearance</key>
    <string>NO</string>

그것은 나를 위해 일하고 있습니다.

info.plist 파일에 아래 코드를 추가하십시오.

 <key>UIStatusBarHidden</key>
 <false/>
 <key>UIViewControllerBasedStatusBarAppearance</key>
 <false/>

이것이 누군가를 위해 일하기를 바랍니다.


Just check the box on Targets/Summary iPad Deployment Info and you status bar will disappear. It works on my apps.


I had the same problem, but its an easy fix! Just set

status bar is initially hidden = YES

then add an row by clicking on the plus right after the text status bar is initially hidden, then set the text to

view controller-based status bar appearance

by clicking the arrows, and set it to NO

Hope this helps!


Well the easiest way that I do it is by typing the following into the .m file.

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

This should work!


-(void) viewWillAppear:(BOOL)animated
{
     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

A complete solution in swift, in your view controller

// you can use your own logic to determine if you need to hide status bar
// I just put a var here for now
var hideStatusBar = false
override func preferStatusBarHidden() -> Bool {
    return hideStatus
}


// in other method to manually toggle status bar
func updateUI() {
    hideStatusBar = true
    // call this method to update status bar
    prefersStatusBarHidden()
}

To hide status bar for each individual view controller programmatically, use any of the following two procedures:

Procedure 1:

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

Procedure 2:

-(BOOL)prefersStatusBarHidden {

       return YES;

}

To hide status bar for the entire application, we should follow the given below procedure:

이 값을 plist : "View controller-based status bar appearance"에 추가하고 "NO"로 설정해야합니다.

스크린 샷을 보려면 여기를 클릭하십시오.

참고 URL : https://stackoverflow.com/questions/12661031/how-to-hide-a-status-bar-in-ios

반응형