美文网首页
iOS 修改状态栏颜色无效

iOS 修改状态栏颜色无效

作者: follow_er | 来源:发表于2019-05-08 19:43 被阅读0次

一. 仅修改状态栏

1、 info.plist文件修改
View controller-based status bar appearance项

  1. 设为YES,则View controller对status bar的设置优先级高于application的设置。
  2. 设为NO则以application的设置为准, view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。


    image.png

2. 在改变状态栏的ViewController里面设置下面两方法

-(BOOL)prefersStatusBarHidden{
   return YES;
}
//修改状态栏的样式
-(UIStatusBarStyle)preferredStatusBarStyle{
// 设置为白色
    return UIStatusBarStyleLightContent;
}

效果图


image.png

二. 滑动修改状态栏

1) 首先去 Info.plist 里面,把 UIViewControllerBasedStatusBarAppearance 设置为 NO;

image.png
2)滑动触发状态栏变化
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
// 大于状态栏高度
    if (scrollView.contentOffset.y > 44.0) {
        // 状态栏白色
        [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
    } else {
      // 状态栏黑色
      [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
    }
    [self setNeedsStatusBarAppearanceUpdate];

}
QQ20190509-194247.gif

相关文章

网友评论

      本文标题:iOS 修改状态栏颜色无效

      本文链接:https://www.haomeiwen.com/subject/gpmgoqtx.html