通常我们在单独一个页面改变状态栏的颜色,则实现如下的方法
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent|UIStatusBarStyleDefault;
}
如果是隐藏
-(BOOL)prefersStatusBarHidden
{
return YES;
}
然而我们可能需要在滚动试图页面动态改变状态栏颜色 light/black
分为以下两个步骤
1. 对滚动事件做处理,状态栏颜色要现在info.plist文件里面添加一个 “View controller-based status bar appearance” 值设为 NO。
2. 在合适的偏移量中添加如下
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent|UIStatusBarStyleDefault;
即可完成通过滚动动态改变状态栏颜色。
备注:在添加第一条之后可能会引起项目的整个statusbar全部隐藏了,请到target->general->hide status bar去掉勾选。这条info可直接进行复制。