【问题标题】:how to hide status bar in ios 10?如何在 iOS 10 中隐藏状态栏?
【发布时间】:2017-08-04 10:20:40
【问题描述】:
我已经检查了堆栈溢出中给出的答案。
喜欢这个方法:prefersStatusBarHidden
-(BOOL)prefersStatusBarHidden {
return [self.navigationController prefersStatusBarHidden];
}
【问题讨论】:
标签:
ios
objective-c
xcode8
statusbar
appdelegate
【解决方案1】:
创建并导入如下导航控制器类别
#import <UIKit/UIKit.h>
@interface UINavigationController (StatusBarStyle)
- (void)setDefaultStatusBar;
- (void)setLightStatusBar;
@end
#import "UINavigationController+StatusBarStyle.h"
@implementation UINavigationController (StatusBarStyle)
BOOL isLight;
- (void)setDefaultStatusBar {
isLight=NO;
[self setNeedsStatusBarAppearanceUpdate];
}
- (void)setLightStatusBar {
isLight=YES;
[self setNeedsStatusBarAppearanceUpdate];
}
- (UIStatusBarStyle)preferredStatusBarStyle {
if (isLight) {
return UIStatusBarStyleLightContent;
}
else{
return UIStatusBarStyleDefault;
}
}
@end
并从您的 viewDidLoad 或您的视图控制器的某个位置调用 [self.navigationController setDefaultStatusBar] 或 [self.navigationController setLightStatusBar],它有一个父 UINavigationController