2019独角兽企业重金招聘Python工程师标准>>>

效果: 截图没有显示出抖动效果

//
//  mierLayout.m
//  diaojiba
//
//  Created by point on 16/9/4.
//  Copyright © 2016年 dacai. All rights reserved.
//#import "mierLayout.h"@interface mierLayout()/** 存放所有cell的布局属性 */
@property (nonatomic, strong) NSMutableArray *attrsArray;@property (nonatomic, assign) int row;@property (nonatomic, assign) CGFloat currentX ;@property (nonatomic, assign) CGFloat currentY ;@property (nonatomic, assign) CGFloat preBtnW ;@end@implementation mierLayout- (void)prepareLayout
{[super prepareLayout];_row = 0;_currentX = 0;_currentY = 0;_preBtnW = 0;// 清除之前所有的布局属性[self.attrsArray removeAllObjects];// 开始创建每一个cell对应的布局属性NSInteger count = [self.collectionView numberOfItemsInSection:0];for (NSInteger i = 0; i < count; i++) {// 创建位置NSIndexPath *indexPath = [NSIndexPath indexPathForItem:i inSection:0];// 获取indexPath位置cell对应的布局属性UICollectionViewLayoutAttributes *attrs = [self layoutAttributesForItemAtIndexPath:indexPath];[self.attrsArray addObject:attrs];}}- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
{return self.attrsArray;}- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath {UICollectionViewLayoutAttributes *attrs = [UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:indexPath];CGFloat mainViewWidth = [UIScreen mainScreen].bounds.size.width;CGFloat w = 50+arc4random() % 100;CGFloat h = 30;CGFloat mw = 10;CGFloat mh = 10;CGFloat x = 0;CGFloat y = 0;static int  i;CGFloat btnWidth = w;if(i == 0 ){_currentX = 0;_preBtnW = btnWidth;}else {if(_preBtnW>mainViewWidth||(_currentX+mw+btnWidth+_preBtnW)>mainViewWidth){_row++;_currentX=0;_preBtnW = btnWidth;}else{_currentX += (mw+_preBtnW);_preBtnW = btnWidth;}}_currentY = _row*(h+mh);attrs.frame = CGRectMake(_currentX, _currentY, w, h);return attrs;
}-(CATransform3D)getTransForm3DWithAngle:(CGFloat)angle{CATransform3D transform =CATransform3DIdentity;//获取一个标准默认的CATransform3D仿射变换矩阵transform=CATransform3DRotate(transform,angle,0,0,1);//获取旋转angle角度后的rotation矩阵。return transform;}- (CGSize)collectionViewContentSize{return CGSizeMake(0, 5000);
}- (NSMutableArray *)attrsArray
{if (!_attrsArray) {_attrsArray = [NSMutableArray array];}return _attrsArray;
}@end

转载于:https://my.oschina.net/zhaodacai/blog/743957

ios UICollectionViewLayout 横向瀑布流相关推荐

  1. iOS基础UI瀑布流界面简单搭建

    ios UI基础瀑布流 顾名思义是将界面以瀑布流水般的展现出来,使用瀑布流,首先对数据进行懒加载,传入数据后,使用UIcollectionView控件在main.storyboard里进行简单的布局 ...

  2. VLayout中的横向瀑布流

    前言 上边文章中说到了VLayout中的几种LayoutHelper,其中有项目链接,详见 https://blog.csdn.net/xiaowei_11/article/details/11923 ...

  3. iOS UICollectionView实现瀑布流(3)

    前面两篇Blog简单的介绍了UICollection的基本使用并实现了类似Android的Gallery效果,这篇文章使用UICollection来实现瀑布流效果,代码主要是在极客学院Carol老师的 ...

  4. 横向瀑布流android,GitHub - xinqing/android_waterfall: Android版的瀑布流布局

    Android瀑布流实例 此项目由于最初设计问题,导致现在问题比较多,暂时停止维护. 我现在在其他类似的瀑布流上进行完善开发, ####请关注: 有必要解释一下程序为什么采用addview方式而不是做 ...

  5. iOS开发之瀑布流照片墙实现

    想必大家已经对互联网传统的照片布局方式司空见惯了,这种行列分明的布局虽然对用户来说简洁明了,但是长久的使用难免会产生审美疲劳.现在网上流行一种叫做"瀑布流"的照片布局样式,这种行与 ...

  6. 横向瀑布流android,RecyclerView实现瀑布流布局

    1,效果图 image.png 2,导包 implementation 'com.android.support:recyclerview-v7:27.1.1' 3,Xml文件 xmlns:andro ...

  7. 不固定图片宽高瀑布流_类百度图片的固定高度横向瀑布流js方法及纯css实现的方法记录...

    微信图片_20190117105118.png 纯css实现代码: Document div{ display: flex;/*显示模式设置为弹性盒子*/ flex-wrap: wrap;/*进行强制 ...

  8. 不固定图片宽高瀑布流_图片横向等高瀑布流,每行占满,限制行数 的实现

    图片的横向瀑布流,其实简单地按顺序排列就可以了 但要实现每行中各图片都等高(各行不一定等高,但每行里面等高),且每行都占满,就需要用到flex的特性了 控制每行图片高度都一致,可能会影响图片的比例,所 ...

  9. 网页瀑布流效果实现的几种方式

    前言 like a mountain that is in our path,wo cannot complain that it is there,we simply have to climb i ...

最新文章

  1. SAP MM 如何得到委外加工采购订单中需要发给subcontractor的物料的信息?
  2. Alamofire源码解读系列(五)之结果封装(Result)
  3. 使用快嘉框架开发项目示例
  4. 《图解HTTP》读书笔记--第5章与HTTP协作的Web服务器
  5. 169. Majority Element
  6. 购物车的实现(cookie、session)
  7. idea快捷键之记录
  8. python关于二手房的课程论文_python之数据清理-以二手房信息为例
  9. 为什么Windows7打开项目的方式是灰的不能修改
  10. 面试官必问的信号量与生产者消费者问题
  11. 【PC工具】更新电脑考证题库,消防考试题库,司法考试,大学英语四六级题库,教师资格考试题库等...
  12. VtigerCRM 点击拨号和来电弹屏 PBX Manager Module
  13. Linux:获取线程的PID(TID、LWP)的几种方式
  14. # 支持向量机+hog特征实现手势识别
  15. 无人驾驶算法学习(十一):IMU标定及Allan方差分析
  16. 26个音序的正确写法和占格_26个音序表怎么读(拼音音序表的正确写法)
  17. oracle wallet,Oracle Wallet的使用
  18. 华为全屋智能战略再升级 用三把钥匙打开未来家的大门
  19. 蒲月“登高”,临风眺望,旷视邀您共赴AI的下一个十年之约
  20. 水流(water)(BFS)(DFS)

热门文章

  1. 检查出某个文件的大小
  2. 程序员的职业素养---编码
  3. 人设倒了扶起来:Lazarus 组织利用含木马的IDA Pro 攻击研究员
  4. Node.js 沙箱易受原型污染攻击
  5. 详情和 PoC 发布后,谷歌匆忙修复严重的 Gmail 漏洞
  6. Teams 可被滥用于安装恶意软件,微软或不打算修复
  7. StrongPity APT:不畏曝光,一心迭代,攻城掠地
  8. ImmuniWeb 推出暗网数据泄露免费查询工具,使用超简单
  9. Checkpoint 发布恶意软件规避分析的技术百科
  10. 130242014049+魏俊斌+第2次试验