#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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 问题: iOS 11更新后很多盆友的导航栏透明度设置都失效了。在iOS11之前很多常见的用法是 获取这个子视图之后...
- 现在有很多APP喜欢透明导航栏的UI设计:会在VC页面上方自定义一个头视图,并它的尺寸会随页面向下滑动而动态拉长。...
- 需求1:只有在首页或者某一个页面隐藏navigationController,其他页面全部正常(系统导航栏,不包括...