상태 표시줄 숨기기

1186 단어
참조: StatusBar 상태 표시줄의 숨김 구현
필자의 테스트를 거쳐 쓸 필요가 없다
step1://             
- (void)viewDidAppear:(BOOL)animated{

    [super viewDidAppear:animated];

    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {

        //      
        [self prefersStatusBarHidden];

        [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];

    }

}

step2://      
- (BOOL)prefersStatusBarHidden{

    return YES;
}

그렇게 많아

- (BOOL)prefersStatusBarHidden{

    return YES;
}
//          ,

단점을 설정하면 이view Controller에 들어가면 이 방법이 자동으로 터치됩니다. 다시 말하면 step1은 쓰지 않아도 될 것 같고, 이 설정은 이view Controller (부분) 에만 적용되는 것이 info입니다.plist 파일에서 View controller-based status bar appearance 항목은 YES(전역)를 기반으로 합니다.
이 때 View controller가 status bar에 대한 설정 우선순위 (어차피 우선순위 문제) 가 응용 프로그램 설정보다 높기 때문이다.
NO를 위해 응용 프로그램 설정을 기준으로view controller의 prefers Status Bar Hidden 방법이 잘못되어 호출되지 않습니다.
그리고 만약에 지금이 View controller-based status bar appearance 항목을 NO로 설정하려면 이치대로 응용 프로그램을 통해 설정해야 한다
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
그런데 이 방법은ios9 이후에 사용을 권장하지 않아서 경고가 있어서 어색해요.

좋은 웹페이지 즐겨찾기