首页 > 代码库 > OC-创建瀑布流
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
OC-创建瀑布流
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。