UICollectionView学习总结

1⃣️
     UICollectionView与UITableView的 区别:布局
     UICollectionView与UITableView的 共同点:循环利用
      —> UITableView继承UISCrollView
      注意:
         —> UICollectionView 初始化必须要传入布局    
               UICollectionViewLayout 
               UICollectionViewFlowLayout 流水布局:九宫格布局
        —> UICollectionViewCell必须要注册
        —> 必须自定义cell
 
   方法抽取的原则:高聚合,低耦合.
    —> 对于项目功能的模块,实行抽取方法
    —> 对于设置属性的模块,可以使用如下方式⬇️
 
               
 
2⃣️
     当系统的方法没法满足我们的需求的时候,我们就可以 自自定义类,重写方法,达到一些效果.
      思路:
          照片浏览布局:1.(流水布局)在拖动的时候,在原来基础上重新计算下布局
                 2.在原来功能上再添加功能,需要自定义流水布局
 
     ? 自定义UICollectionView布局.了解5个方法
     ⭐️- (void)prepareLayout;
  什么时候调用:一开始布局就会调用,UICollectionView刷新的时候也会调用
  作用:计算所有的cell布局,条件:cell布局固定
 
     ⭐️- (nullable NSArray<__kindof UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect;
作用:返回每个cell布局,
        给定一个区域,就返回这个区域内所有cell布局
        允许一次性返回所有cell布局
分析:
     UICollectionViewLayoutAttributes:描述cell的布局
         每一个cell对应UICollectionViewLayoutAttributes
         只要拿到UICollectionViewLayoutAttributes,拿到cell
 
     ⭐️- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds; 
 Invalidate:刷新
  是否允许在拖动的时候刷新布局
  谨慎使用,YES:只要一滚动就会布局
 
     ⭐️- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity;
  什么时候调用:手动拖动UICollectionView,当手指离开的时候,就会调用
  作用:返回UICollectionView最终的偏移量
 proposedContentOffset:最终的偏移量
 
     ⭐️- (CGSize)collectionViewContentSize;
 
—>我的总结:
UICollectionView与UIScrollView比较:
UICollectionView创建的同时必须要初始化布局
这里选择UICollectionViewFlowLayout流水布局
 ↘️所需要的两个对象
     UICollectionView *collectionView;
     UICollectionViewFlowLayout *layout;
 ↘️在layout中,设置布局的一些属性 
        itemSize:collectionView中的每个模型尺寸
        scrollDirection:滚动方向
        sectionInset:设置额外滚动区域
        ......
 
创建collectionView对象并同时传入布局layout,
 ↘️设置collectionView属性
     设置collectionView的相关属性:位置,背景色,.....
 ↘️注意
     UICollectionView和UIScrollView的不同之处就体现在布局,
     UICollectionView初始化时需要布局且UICollectionView内的控件完全根据布局的设置来显示,不需要去设置滚动区域.
     UIScrollView需要去根据控件的多少来设置内容滚动区域contentSize.
 
           ?UITableView继承自UIScrollView
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/coyoko/p/5138183.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值