OC - 瀑布流的思路

创建瀑布流的思路

1. 如果用九宫格的形式创建“瀑布流”,就会要求每个图片都是一样的格式,如果图片不是一样的格式,会出现一些让用户不舒服的视觉效果。

1.1 瀑布流能滚动,就会循环引用。

2.  最底层可以使用“UIScrollView”,上面放入UITableView.比如说瀑布流有三列。那么就创建三列UITableView.让这三个UITableView禁止滚动,只让最后面的UIScrollView滚动。这种方法最好不要使用,因为复用性不强。

3. 最低层还是使用UIScrollView,上面是自己的View.但是这种方法需要程序员自己写循环利用。现在已不再使用。

4. 使用“UICollectionView”,不用程序员自己使用循环利用。

时间: 2024-08-01 11:01:47

OC - 瀑布流的思路的相关文章

javascript自适应宽度的瀑布流实现思路

这里主要介绍瀑布流的一种实现方法:绝对定位(css)+javascript+ajax+json.简单一点如果不做滚动加载的话就是绝对定位(css)+javascript了,ajax和json是滚动加载更多内容的时候用到的,感兴趣的你可以参考下哦 这样的布局并不陌生,从2011年Pinterest创立以来,中国互联网就迅速掀起了一股模仿Pinterest的热潮,国内有众多网站采用瀑布流的布局方式,例如花瓣网.美丽说等等.而事实上在中国互联网,模仿一些在国外被人看好的模式(当然,你也可以说是山寨或抄

iOS之简单瀑布流的实现

iOS之简单瀑布流的实现 前言 超简单的瀑布流实现,这里说一下笔者的思路,详细代码在这里. 实现思路 collectionView能实现各中吊炸天的布局,其精髓就在于UICollectionViewLayout,因此我们要自定义一个layout来继承系统的UICollectionViewLayout,所有工作都在这个类中进行. 1.定义所需属性 瀑布流的思路就是,从上往下,那一列最短,就把下一个item放在哪一列,因此我们需要定义一个字典来记录每一列的最大y值 每一个item都有一个attrib

iOS教你轻松打造瀑布流Layout

前言 : 在写这篇文章之前, 先祝贺自己, 属于我的GitHub终于来了. 这也是我的GitHub的第一份代码, 以下文章的代码均可以在Demo clone或下载. 欢迎大家给予意见. 觉得写得不错的也请不要吝惜你们的star. 瀑布流 先普及下什么叫瀑布流 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinterest,逐渐在国内流行开来. UICollectio

具有分散效果的瀑布流

出现的bug:1.clos=Math.floor($(window).width()/pins.first().outerWidth());由于前面的CSS样式中将float:left注释掉了,并且最开始没有把初始化位置那一部分代码放到最前面,也就是图片没有用absolute定位.img外面用盒子包围,是块级元素,自动占据一行,与窗口宽度相等,自然会导致下面的cols一直弹出是1,以后遇到这种情况,一定要结合HTML和CSS样式综合考虑!! 2.还是absolute的问题:waterfall中c

瀑布流知识的延伸

瀑布流,很常见了,淘宝,网易云音乐等等都有,实现原理,咱先放着一遍,先将涉及到的知识点拓展开来 一.Math的方法 Math求最小值.最大值, 对于一般的数字直接求,Math.min  Math.max 但是求数组呢,一个方法,三种形式,js高程书中利用apply的回调函数,将this指向window,直接将所求的数组作为参数传入 封装函数的方法 封装一个getMin的函数直接调用获得 var numbers=[23,435,45,34] function getMin(arr){ //封装一个

Android 实现瀑布流的两种思路

瀑布流怎么样我就不多介绍了.下面说说我想到的两个方法. 方法一,控件的叠加: ScrollView+LinearLayout.在ScrollView里面加一个水平方向的LinearLayout,在水平Layout里面加几个竖直方向的LinearLayout,然后根据滑动情况去加载和回收Bitmap,甚至可以回收ImageView(回收Bitmap的同时remove掉ImageView,加载Bitmap的同时addView,需要把握好View的位置),思路较好实现. 方法二,自定义ViewGrou

iOS开发:一个瀑布流的设计与实现(已实现缓存池功能,该功能使得瀑布流cell可以循环利用)

一个瀑布流的实现有三种方式: 继承自UIScrollView,仿写UITableView的dataSource和delegate,创造一个缓存池用来实现循环利用cell 写多个UITableview(UITableView的cell宽度是与UITableView宽度一样的,那么每行可以摆设多个宽度相等的UITableView,从而实现瀑布流),不过这种方法是最差的,因为不能有效的做到循环利用cell 可以自定义UICollectionViewCell的布局,从而实现瀑布流,UICollectio

jQuery瀑布流插件——jQuery.Waterfall

插件--jQuery.Waterfall 思路: 其实只要了解了整个流程,要实现这个插件也不难,大家都玩过俄罗斯方块吧,原理差不多,找到合适的地方叠上去就好了,在这里,每个块的宽度是必需给定的,然后计算出列数,再维护一个数组,存储每列的高度,往最小高度的列添加块即可.滚动时,当最小高度出现在可视窗口时就启动ajax从服务器拉取更多的数据. 注意的地方: 如果瀑布流的块中包含图片,则需要事先知道图片的高度(其实就是为了要计算出整个块的高度,以便精确定位),图片的高度可以从服务器返回,本插件是整合p

自定义UICollectionLayout布局 —— UIKit之学习UICollectionView记录一《瀑布流》

一.思路 思路一:比较每一行所有列的cell的高度,从上到下(也就是从第一行开始),从最短的开始计算,(记录下b的高度和索引,从开始计算,依次类推) 思路二:设置上.下.左.右间距和行间距.列间距及列数. 思路三:实现的重要的方法. 二.代码先行. 1.自定义layout类. //入口 #import <UIKit/UIKit.h> @protocol STRWaterLayoutDelegate; @interface STRWaterLayout : UICollectionViewLay