OC-创建瀑布流

1. 创建“WYWaterflowLayout”继承制  “UICollectionViewLayout”。

2. 在“ViewController” 中导入“WYWaterflowLayout”类。并创建,创建的代码如下

@property (nonatomic,weak) UICollectionView *collectionView;

- (void)CircleLayout
{
    WYWaterflowLayout *layout = [[WYWaterflowLayout alloc] init];

    // 创建CollectionView
    UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
    collectionView.dataSource = self;
    collectionView.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:collectionView];

    self.collectionView = collectionView;

    // 使用系统自带的类注册
   // [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:WYShopID];

    // 使用自定义类注册
    [collectionView registerNib:[UINib nibWithNibName:NSStringFromClass([XMGShopCell class]) bundle:nil] forCellWithReuseIdentifier:WYShopID];
}

3. 数据源<UICollectionViewDataSource>

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    self.collectionView.footer.hidden = self.shops.count == 0;
    return self.shops.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{

    XMGShopCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:WYShopID forIndexPath:indexPath];
    XMGShop *shopses = self.shops[indexPath.item];
    cell.shop = shopses;

    return cell;
}

4. 写 “WYWaterflowLayout”的方法,这四个类是必须要写的。

// 初始化

- (void)prepareLayout;

// 决定cell的排布

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

// 返回indexPath位置cell对应的布局属性

- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath;

- (CGSize)collectionViewContentSize
时间: 2024-10-22 16:36:47

OC-创建瀑布流的相关文章

UICollectionView创建瀑布流

UICollectionView与UITableView类似,它们的用法也差不多,所有的实现都是通过delegate以及dataSource来完成的,都有几个必须实现的协议,为以下协议. - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { return 1; } - (NSInteger)collectionView:(UICollectionView *)collectionVie

OC - 瀑布流的思路

创建瀑布流的思路 1. 如果用九宫格的形式创建“瀑布流”,就会要求每个图片都是一样的格式,如果图片不是一样的格式,会出现一些让用户不舒服的视觉效果. 1.1 瀑布流能滚动,就会循环引用. 2.  最底层可以使用“UIScrollView”,上面放入UITableView.比如说瀑布流有三列.那么就创建三列UITableView.让这三个UITableView禁止滚动,只让最后面的UIScrollView滚动.这种方法最好不要使用,因为复用性不强. 3. 最低层还是使用UIScrollView,上

扩展版瀑布流

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>瀑布流-扩展版02</title> <style type="text/css"> * { margin: 0; padding: 0; } #list { list-style: none; position: relative; margin: 0 auto; }

图片瀑布流

前言 FineUI控件库发展至今已经有 5 个年头,目前论坛注册的QQ会员 5000 多人,捐赠用户 500 多人(捐赠用户转化率达到10%以上,在国内开源领域相信这是一个梦幻数字!也足以证明FineUI旺盛的生命力!).在这 5 年七年,FineUI总共发布了 100 多个版本!也积攒了大量的典型案例. 然而一直以来,FineUI的典型案例都是在论坛上以帖子的形式进行展示,没有一个集中展示的地方.今天我们就使用前段时间比较流行的瀑布流来解决FineUI典型案例的展示问题.最终的显示效果如下图所

js实现响应式瀑布流

导读:瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinterest,逐渐在国内流行开来.国内大多数清新站基本为这类风格,像花瓣网.蘑菇街.美丽说等. 最近在好多地方看到瀑布流的字眼,感觉真的很不错,于是就想自己能不能写一个呢,而且是响应式的.经过将近两天的研究,终于写出来了,先传几张图给大家看看最终的效果:      随着浏览器页面的大小调整.布局从四列逐渐变成三

瀑布流UICollectionViewFlowLayout

第一篇: 现在我们要实现如下的效果: 点击打开链接 1.首先创建瀑布流 UICollectionView *collectionView = [[UICollectionView alloc]init]; CGFloat collectionWH= self.view.frame.size.width; collectionView.frame = CGRectMake(0, 200, collectionWH, collectionWH); [self.view addSubview:coll

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

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

PSCollectionView瀑布流实现

[-] 一基本原理 二具体实现 相关数据结构 视图更新方式 relayoutViews方法 removeAndAddCellsIfNecessary方法 select方法 重用数据块视图机制 三使用方法 四其他瀑布流实现 PSCollectionView是一个实现较简洁的仿Pinterest瀑布流iOS版实现,使用UIScrollView做容器,每列列宽固定,高度可变,使用方式类似UITableView.其效果如图: 一.基本原理 其基本实现原理为: 列数固定,根据列数每列存储一个当前列的高度值

1、网页后退 2、瀑布流 3、上下左右的阿斯科码值 4、加密技术

1.网页后退 /前进  <a href="javascript:history.go(-1);">后退</a><a href="javascript:history.go(1);">前进</a> 2.瀑布流              瀑布流是目前一种比较流行的页面布局和加载效果.百度,花瓣等一些好的网站都广泛用了这样一种效果,适用于单页面展示对内容的页面.这几天就跟着一些资料学习了一下瀑布流效果的制作.其原理是利用js

IOS 瀑布流UICollectionView实现

IOS 瀑布流UICollectionView实现 在实现瀑布流之前先来看看瀑布流的雏形(此方法的雏形 UICollectionView) 对于UICollectionView我们有几点注意事项 它和tableView不一样,ContentView的内容完全需要我们自己去添加. 它与tableview相比,他的初始化需要FlowLayout并且大部分操作在其上. UIcollectionView的实用性极强,虽然有时他并不是最好的解决方案,但是它可以很灵活的实现各种效果. 图(一) 如图,模拟器