支付宝五福实现 核心代码

//准备开始布局

- (void)prepareLayout {}

//返回的是决定cell样式的数组

- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect {

NSArray * attributes =  [super layoutAttributesForElementsInRect:rect];

//计算中心点的contentOffset

CGFloat centerX = self.collectionView.contentOffset.x + self.collectionView.bounds.size.width * 0.5;

//获取每一个cell的布局属性

for (UICollectionViewLayoutAttributes * attri in attributes) {

//计算每一个cell中心与中心点的contentOffset距离

CGFloat delat = ABS(attri.center.x - centerX);

//计算比例

CGFloat scales = 1 - delat / (self.collectionView.bounds.size.width);

attri.transform = CGAffineTransformMakeScale(scales, scales);

}

return attributes;

}

//实时刷新

- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds {

return YES;

}

//targetContentOffset 调整后的contentOffset

//proposedContentOffset 滑动停止的contentOffset

- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity {

// 计算最终的可见范围

CGRect rect;

rect.origin = proposedContentOffset;

rect.size = self.collectionView.frame.size;

// 取得cell的布局属性

NSArray * attributes = [super layoutAttributesForElementsInRect:rect];

CGFloat centerX = proposedContentOffset.x + self.collectionView.bounds.size.width * 0.5;

//获取最小间距

CGFloat minDetal = MAXFLOAT;

for (UICollectionViewLayoutAttributes *attrs in attributes) {

if (ABS(minDetal) > ABS(attrs.center.x - centerX)) {

minDetal = attrs.center.x - centerX;

}

}

// 在原有offset的基础上进行微调

return CGPointMake(proposedContentOffset.x + minDetal, proposedContentOffset.y);

}

时间: 2024-11-04 19:49:04

支付宝五福实现 核心代码的相关文章

2018年教你怎么快速集齐支付宝五福攻略

支付宝2018集五福活动开启了,一年一度的支付宝集福活动来了.2018支付宝集福活动怎么快速集齐五福?支付宝集五福有什么秘籍吗?告诉你,还真的有的,小编朋友用这个攻略,已经集齐了五福!下面我们就来看看怎么快速集齐五福瓜分5亿元. 支付宝2018年集齐五福时间和规则: 集五福时间从2月6号开始一直持续到除夕夜(2月15号)的晚上的10点.支付宝2018集五福活动与往年的活动一样,不过春节红包总金额上涨到了5亿元,最高个人红包达到了666元.所有集齐5福卡的网友可以在除夕夜开春节红包. 支付宝201

[软件人生]也谈谈支付宝五福

江湖传言,6种东西找不到:长生丹,后悔药,铁道部的火车票,绝情丹,情花毒,支付宝的敬业福- 经过了昨天的大乱,突然想写点东西,确实是想谈谈支付宝这次的活动. 红包活动经历了两年,起点应该从去年微信与央视春晚的合作震惊了全国谈起,那一刻,真的是让所有的人都感觉到了移动互联网时代的到来. 1. 各方评论 有人撰文在赞扬支付宝的这次做法,认为毕竟这么快的构建起了人际关系网络,这也是腾讯将近二十年最核心的东西,就如同去年微信通过红包大战建立的支付渠道一样惊人.从这里可以看到支付宝app为何在几个月前希望

IOS 支付宝-五福简单框架实现-线性滚动(UICollectionView)

猴年支付宝可算是给大家一个很好的惊喜,刺激.大家都在为敬业福而四处奔波.可是到最后也没有几个得到敬业福德,就像我.不知道大家有没有观察,五福界面的滚动是一个很好的设计.在这里,给大家带来简单的滚动实现,首先看一下实现效果. 通过观察不难发现,有很多地方并不是那么容易想出来的,对于篇随笔,感兴趣可以查查相关资料,我就不尽行过多说明,(主要是开考文字,不好说明??). 献出代码,请收下. // // ViewController.m // CX 支付宝-五福简单框架实现-线性滚动(UICollect

x264代码剖析(十五):核心算法之宏块编码中的变换编码

x264代码剖析(十五):核心算法之宏块编码中的变换编码 为了进一步节省图像的传输码率,需要对图像进行压缩,通常采用变换编码及量化来消除图像中的相关性以减少图像编码的动态范围.本文主要介绍变换编码的相关内容,并给出x264中变换编码的代码分析. 1.变换编码 变换编码将图像时域信号变换成频域信号,在频域中图像信号能量大部分集中在低频区域,相对时域信号,码率有较大的下降. H.264对图像或预测残差采用4×4整数离散余弦变换技术,避免了以往标准中使用的通用8×8离散余弦变换逆变换经常出现的失配问题

支付宝用AR集五福,VR和MR怎么看?

架构师技术联盟 2017年春节,支付宝再次推出了"五福红包"活动,表示要"把欠大家的敬业福都还给大家".的确,今年集齐难度大大降低,目前已经有六千多万人集齐. 今年AR应用在在支付宝抢红包上,站在高科技技术角度,更吸引人的眼球,而且红包(广告费)金额也不少,这也是营销的惯用做法,按照25%的人已经集齐5福计算,AR在中国的使用普及率至少已经达到2亿左右,如果再加上AR在其他产品和领域,AR的使用率变得更高.支付宝红包金额也是2亿,如果到2017年1月27日这些人全部

集五福+微信红包+大转盘 从零到一完成国民级项目测试实战

第1章 课程介绍(欢迎来学习,祝您学习愉快)本章主要介绍课程内容,讲解课程的由来及重难点.本门课诣在让大家知道也许你给小伙伴们发过红包,也许你参与过集五福活动,但是你真的了解他们么?让我们一起,走进软件测试的世界,全面了解软件测试人员在一个互联网项目中,从需求到上线每个阶段都在做什么,怎么做.... 第2章 微信红包的诞生到测试计划(企业真实项目测试过程)本章主要讲解微信红包的诞生.需求分析.软件测试里面包含了哪些内容.测试人员可以做哪些事情.从产品立项到开发结束,测试人员在每个阶段都可以做哪些

我用 Python 集齐了五福

? [新智元导读]又到了每年集五福的时间.你的五福集齐了吗?每天在各种群里苦苦求扫福,或者忍受着别人天天求扫福,是不是有点厌倦了.作为技术人员,怎么能忍受得了这种低效的全人工操作呢?今天就为大家推荐用Python生成风格不同又数量庞大的「福」字,让大家不用满世界找福字,动动手指即可. ! 是什么让你忽然意识到下周就要过年了? 是考完期末考试的最后一门?还是抢到了回家的火车票?又或者是年终奖的到账短信? 作为一个没有寒假.不用回老家也没有年终奖的人,让我发现马上就要过年的现象是:各个群里面又开始集

新年福利之Python轻松集齐五福!

新的一年又要到来了,各个大的公司又在这年末为大家送上了新春的祝福,支付宝还是延续了这几年的传统,在年末为大家送上了集五福的活动,为了大家能更快更好的扫出来大大的"福",今天就带领大家利用python做一个一"福"转"N"福的小demo. 先看效果图首先,我们需要拿到一张大大的"福"字图片,然后,我们就可以对于这张图进行操作了.我们今天要实现的就是将一张"福"字转化为五种不同的风格技术面分析,现为大家呈上效果

【转】Darwin Streaming Server 核心代码分析

无意中看到了dqzhangp的一篇博客,分析了DSS的核心架构,读完顿时感觉豁然开朗,茅塞顿开,写得非常的鞭辟入里,言简意赅,我想没有相当的功力是写不出这样的文章的,情不自禁转到自己空间来,生怕弄丢了. 基本概念   首先,我针对的代码是Darwin StreamingServer 6.0.3未经任何改动的版本. DarwinStreaming Server从设计模式上看,采用了Reactor的并发服务器设计模式,如果对Reactor有一定的了解会有助于对DarwinStreaming Serv