通过滑动界面,根据偏移量 实时修改顶部statusBarStyle(电池条)颜色。 直接上代码:
首先将info.plist文件中View controller-based status bar appearance这个参数设置为NO。
其次在scrollView的代理方法里设置样式即可
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
_content = scrollView.contentOffset.y;
_navview.alpha = _content / 200;
if (_navview.alpha > 0) {
return [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO];//黑色
}
return [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];//白色
}
这里要注意如果你的上一个界面和下一个界面不需要改变电池颜色, 需要在上一个界面和下一个界面的viewWillAppear方法里 将电池条颜色置为原来的颜色。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
//设置电池条为黑色
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO];
}