模糊主要使用UIVisualEffectView,这只在ios8以后适用

//模糊的遮罩view
@property(nonatomic,strong) UIVisualEffectView *effectView;
@property(nonatomic,strong) CollectionviewLayout *layout;CollectionviewLayout *layout = [[CollectionviewLayout alloc]init];
layout.itemSize = CGSizeMake(mScreenWidth, 40);
layout.headerReferenceSize = CGSizeMake(mScreenWidth, collectionViewHeaderHeight);
self.layout = layout;

遮罩view的设置

UIBlurEffect *blur = [UIBlurEffect effectWithStyle:(UIBlurEffectStyleLight)];
UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:blur];
effectView.alpha = 0;
self.effectView = effectView;
[_collectionView addSubview:_effectView];

header是UIImageView,大小为layout.headerReferenceSize
模糊是在-(void)scrollViewDidScroll:(UIScrollView *)scrollView中写

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{CGFloat offSetY = scrollView.contentOffset.y;CGFloat deltaY = fabs(offSetY);if (offSetY < 0) {CGSize headerSize = [self.layout headerReferenceSize];CGRect headRect = CGRectZero;headRect.size.height = headerSize.height + deltaY;headRect.size.width = headerSize.width + deltaY;headRect.origin.y = headRect.origin.y - deltaY;headRect.origin.x = headRect.origin.x - deltaY/2;//UIVisualEffectView的frame应与header的ImageView的frame相同//上述headRect也为header的imageView的frameself.effectView.frame = headRect;self.effectView.alpha = deltaY/collectionViewHeaderHeight*1.5 ;}
}

效果为

转载于:https://www.cnblogs.com/Apologize/p/6306578.html

UICollectionView下拉使header放大模糊相关推荐

  1. 仿QQ空间,百思不得姐下拉刷新图片放大

    1.概述 实习生进阶到项目部分会带他们做一个百思不得姐项目,那么个人主页就有类似于QQ空间下拉图片放大的效果,趁着现在还闲就实现一下效果: 2.实现 1. 效果分析 ScrollView和ListVi ...

  2. 【项目实战】select+input实现下拉框左右选择+模糊查询功能

    前言: 在项目中用遇到下拉框左右选择的需求,而easyui没有找到合适的插件,就想着用listbox来实现,但后来针对这个项目中没有想到合适的办法(ps:大家有了可以推荐哟),从网上看了一些demo, ...

  3. 自定义SmartRefreshLayout 下拉刷新Header(水浪+齿轮动画)

    自定义SmartRefreshLayout(version 1.0.5.1)使用的下拉刷新头 implementation 'com.scwang.smartrefresh:SmartRefreshL ...

  4. 仿面包旅行个人中心下拉顶部背景放大高斯模糊效果

    HeaderView.h // // HeaderView.h // 仿面包旅行个人中心 // // Created by wb145230@163.com on 15/5/14. // Copyri ...

  5. SmartRefreshLayout 下拉刷新上拉加载框架

    首先,放上该智能第三方库的GitHub地址https://github.com/scwang90/SmartRefreshLayout/tree/master 使用步骤 1.在build.gradle ...

  6. 安卓下拉刷新、上拉加载数据显示

    整个是一个scrollView,嵌套一个线性布局,下拉刷新.或者上拉加载后,通过addView()方法,加载消息体,每一个消息体是一个复杂的子view. 做一个类似qq客户端"好友动态&qu ...

  7. swift添加下拉刷新_React Native自定义下拉刷新组件

    React Native 自定义下拉刷新组件 PullToRefresh 针对猴急一些的同学,可以先在这个 Expo网站在线运行下demo看看效果 . 完整的代码,在 Github仓库 . 下拉刷新, ...

  8. android 列表上拉加载更多,Android 下拉刷新,上拉加载更多控件–支持ListView,GridView和ScrollView...

    麦洛遇到这样一个需求,实现类似于IOS下拉刷新,上拉加载更多的控件.麦洛google,baidu了一番,网上有不少实现,比较常见的是国外牛人的实现,不过国外的实现基本上都是扩展于ListView,所以 ...

  9. android多个下拉控件,Android实现支持所有View的通用的下拉刷新控件

    下拉刷新对于一个app来说是必不可少的一个功能,在早期大多数使用的是chrisbanes的PullToRefresh,或是修改自该框架的其他库.而到现在已经有了更多的选择,github上还是有很多体验 ...

最新文章

  1. 每天一个Linux命令 7
  2. 在centos 6.3下安装php 5.3.3 xdebug的方法与步骤
  3. 被同事嘲笑说技术方案没深度?
  4. 修改oracle数据库内存参数,物理内存扩容,oracle 11g R1数据库相关参数修改
  5. ui kit模板,让新手设计师临摹提高!
  6. functools模块
  7. 真牛!打开mysql
  8. 《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 1.4  真正的HTML5
  9. 利用salt防范MD5字典攻击
  10. 点线面缓冲分析(转自esri中国社区)
  11. 经纬度PLT文件格式说明
  12. C case和UVM TB的交互,tube_print, event_sync
  13. 五人合伙最佳股份分配_五人合伙股份分配协议书范本
  14. linux文件类型elf,Linux下ELF文件的格式(1)
  15. 微机原理--8088/8086微处理器详解
  16. C++ POST请求调用百度AI OCR
  17. windows10安装配置vim
  18. 百度飞桨亮相2019 AIIA,四大领先技术剑指落地引开发者点赞
  19. android studio 设备调试及Logcat查看
  20. 【Bluetooth蓝牙开发】九、BLE协议之GATT

热门文章

  1. Python try/except/finally等
  2. EditPlus 技巧大全:[1]怎么配置PHP编译环境
  3. 根据IP地址获取主机名称
  4. Eclipse GBK批量转UTF-8插件(转)
  5. windows10中远程访问凭据不工作
  6. 【IOS】集成zxing(二维码扫描)
  7. C#将Json字符串反序列化成List对象类集合
  8. OpenNMS全接触-事件及通知(九)
  9. 1、如何理解SQL Server的实例
  10. 铁路售票系统_铁路资讯:复兴号动车、智能京张高铁…中国最高端铁路装备看这里...