iOS 根据滑动距离改变状态栏颜色

Code

/// 状态标记
@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];
    }
}
发布了201 篇原创文章 · 获赞 220 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/xjh093/article/details/100747797