导航栏动态影藏或者透明

#pragma mark - 顶!d=====( ̄▽ ̄*)b部的导航渐变
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    NSLog(@"当前的offset %f",scrollView.contentOffset.y);
    float currentAlpha = (scrollView.contentOffset.y+TOPSCREENHIGHT)/(float)(52+64);
    UIColor *color = TABBARCOLOR;
    UIImage *image = [self imageWithColor:[color colorWithAlphaComponent:currentAlpha]];
    if (scrollView.contentOffset.y == 0.000) {
        image = [self imageWithColor:[color colorWithAlphaComponent:0]];
    }
    
    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
    [self.navigationController.navigationBar setShadowImage:image];
    if (currentAlpha >= 1) {
        self.title = @"课程详情";
    }else{
        self.title = @"";
    }
}
- (UIImage *)imageWithColor:(UIColor *)color {
    CGRect rect = CGRectMake(0, 0, 1, 1);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [color setFill];
    CGContextFillRect(context, rect);
    UIImage *imgae = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return imgae;
}
- (UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size {
    
    CGRect rect = CGRectMake(0, 0, size.width, size.height);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [color CGColor]);
    CGContextFillRect(context, rect);
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    CGContextAddEllipseInRect(context, rect);
    UIGraphicsEndImageContext();
    return image;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容