首先info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<string>UIStatusBarStyleDefault</string>
</plist>
其次
@property (nonatomic,assign) UIStatusBarStyle statusBarStyle; //状态栏
- (instancetype)init
{
self = [super init];
if (self) {
self.statusBarStyle = UIStatusBarStyleLightContent;
}
return self;
}
#pragma mark - [self setNeedsStatusBarAppearanceUpdate]给这个方法就能回调到这里
- (UIStatusBarStyle)preferredStatusBarStyle
{
// if (self.collectionViewDataArray.count != 0)
// {
// return self.statusBarStyle;
// }
// else
// {
return UIStatusBarStyleLightContent;
// }
}
scrollview滚动
//navabar statusBar状态改变
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat height = SCREEN_WIDTH;
self.statusBackView.alpha = 1;
if (scrollView.contentOffset.y > height) {
self.statusBackView.backgroundColor = [UIColor whiteColor];
self.statusBarStyle = UIStatusBarStyleDefault;;
self.headerImageView.hidden = YES;
self.headerBtn.backgroundColor = [UIColor colorWithRed:247/255.0 green:247/255.0 blue:247/255.0 alpha:1];
}else{
self.statusBackView.backgroundColor = [UIColor clearColor];
self.statusBarStyle = UIStatusBarStyleLightContent;
self.headerImageView.hidden = NO;
self.headerBtn.backgroundColor = [UIColor whiteColor];
}
[self setNeedsStatusBarAppearanceUpdate];
}