博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIScrollView视差模糊效果
阅读量:6423 次
发布时间:2019-06-23

本文共 2635 字,大约阅读时间需要 8 分钟。

UIScrollView视差模糊效果

 

效果

 

源码

////  ScrollBlurImageViewController.m//  Animations////  Created by YouXianMing on 15/11/25.//  Copyright © 2015年 YouXianMing. All rights reserved.//#import "ScrollBlurImageViewController.h"#import "MoreInfoView.h"#import "UIView+SetRect.h"#import "Math.h"#import "UIImage+ImageEffects.h"static int viewTag = 0x11;@interface ScrollBlurImageViewController () 
@property (nonatomic, strong) NSArray *picturesArray;@property (nonatomic, strong) UIScrollView *scrollView;@property (nonatomic, strong) Math *onceLinearEquation;@end@implementation ScrollBlurImageViewController- (void)viewDidLoad { [super viewDidLoad];}- (void)setup { [super setup]; MATHPoint pointA = MATHPointMake(0, -50); MATHPoint pointB = MATHPointMake(self.view.width, self.view.width - 50);; self.onceLinearEquation = [Math mathOnceLinearEquationWithPointA:pointA PointB:pointB]; // Init pictures data. self.picturesArray = @[[UIImage imageNamed:@"beauty"], [[UIImage imageNamed:@"beauty"] blurImage], [[UIImage imageNamed:@"beauty"] grayScale]]; // Init scrollView. CGFloat height = self.view.height; CGFloat width = self.view.width; _scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; _scrollView.delegate = self; _scrollView.pagingEnabled = YES; _scrollView.backgroundColor = [UIColor blackColor]; _scrollView.showsHorizontalScrollIndicator = NO; _scrollView.bounces = NO; _scrollView.contentSize = CGSizeMake(self.picturesArray.count * width, height); [self.view addSubview:_scrollView]; // Init moreInfoViews. for (int i = 0; i < self.picturesArray.count; i++) { MoreInfoView *show = [[MoreInfoView alloc] initWithFrame:CGRectMake(i * width, 0, width, height)]; show.imageView.image = self.picturesArray[i]; show.layer.borderWidth = 0.25f; show.layer.borderColor = [[UIColor grayColor] colorWithAlphaComponent:0.25f].CGColor; show.tag = viewTag + i; [_scrollView addSubview:show]; } [self bringTitleViewToFront];}- (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat X = scrollView.contentOffset.x; for (int i = 0; i < self.picturesArray.count; i++) { MoreInfoView *show = [scrollView viewWithTag:viewTag + i]; show.imageView.x = _onceLinearEquation.k * (X - i * self.view.width) + _onceLinearEquation.b; }}@end

细节

转载地址:http://anwga.baihongyu.com/

你可能感兴趣的文章
C语言及程序设计初步例程-13 数值型数据的存储原理
查看>>
docker 文件位置[备忘]
查看>>
MongoDB WiredTiger 存储引擎cache_pool设计 (下) -- 实践篇
查看>>
pt-online-schema-change使用说明、限制与比较
查看>>
#运维侠客行·杭州站# 如何实现高容量大并发数据库服务
查看>>
情人节涨姿势:IT男如何get女生引力波?
查看>>
《C语言及程序设计》实践项目——main函数的参数
查看>>
《C语言及程序设计》实践项目——迭代法解题
查看>>
计算机意外地重新启动或遇到错误。windows安装无法继续。若要安装windows 请单击...
查看>>
关于领域驱动设计(DDD)中聚合设计的一些思考
查看>>
水仙花数
查看>>
数据结构——栈
查看>>
changes of mysql 5.6.20
查看>>
阿里巴巴高级技术专家张智宇:阿里聚石塔电商云容器服务应用和实践
查看>>
JavaScript权威设计--JavaScript函数(简要学习笔记十)
查看>>
msyql中查询某个字段的不重复的所有记录
查看>>
VS2010编写WebService与在IIS的发布<之简单讲解>
查看>>
MySQL
查看>>
如何调整WINDOWS进程对多核CPU的利用率?
查看>>
PHP和分布式Memcache的一个小问题 单点故障
查看>>