iOS 根据滑动动态修改状态栏的颜色终极方案

2020-06-19  本文已影响0人  Kevin_Ray

直接上代码:

/// 状态标记
@property (nonatomic,  assign) BOOL  statusBarFlag;
/// 状态栏样式
- (UIStatusBarStyle)preferredStatusBarStyle {
      if (_statusBarFlag) {
        return UIStatusBarStyleDefault; // 黑色
      }
      return UIStatusBarStyleLightContent; // 白色
}
#pragma mark --- UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
        CGFloat alpha = scrollView.contentOffset.y / 64;
        if (alpha >= 1.0 && _statusBarFlag != YES) {
              _statusBarFlag = YES;
              [self setNeedsStatusBarAppearanceUpdate];
    }else if (alpha <= 0.0 && _statusBarFlag != NO){
            _statusBarFlag = NO;
            [self setNeedsStatusBarAppearanceUpdate];
    }
}
上一篇 下一篇

猜你喜欢

热点阅读