设置 Info.plist View controller-based status bar appearance
为YES。
添加4个按钮,分别控制状态栏和导航栏的隐藏和显示。
重写方法 prefersStatusBarHidden
。
//
// SecondViewController.m
// StatusBar
//
// Created by chen.cy on 2021/9/28.
//
#import "SecondViewController.h"
@interface SecondViewController (){
BOOL hiddenStatusBar;
}
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
self.navigationController.navigationBarHidden = YES;
}
- (IBAction)pop:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
- (IBAction)hiddenStatusBar:(id)sender {
hiddenStatusBar = YES;
[self setNeedsStatusBarAppearanceUpdate];
}
- (IBAction)showStatusBar:(id)sender {
hiddenStatusBar = NO;
[self setNeedsStatusBarAppearanceUpdate];
}
- (BOOL)prefersStatusBarHidden{
return hiddenStatusBar;
}
- (IBAction)hiddenNavigationBar:(id)sender {
[self.navigationController setNavigationBarHidden:YES animated:NO];
}
- (IBAction)showNavigationBar:(id)sender {
[self.navigationController setNavigationBarHidden:NO animated:NO];
}
@end
IMG_6935.PNG
IMG_6934.PNG