UICollectionView cell子项布局的分析
发布日期:2021-05-27 02:41:57 浏览次数:22 分类:技术文章

本文共 822 字,大约阅读时间需要 2 分钟。

前言:

UICollectionView弥补了UITabView的一些不足。但与Android平台上的RecyclerView而言,其显得似乎并没有RecyclerView那样随心所欲地操纵布局那样方便。本文将浅显地分析一下该问题。

一:分析:决定cell子项布局布局的因素有哪些

UICollectionView内放有cell,cell内部放有cell子项。如此层层嵌套,每个控件都将成为影响因素的一员。那么我们不难得出如下影响因素结论

  • UICollectionView的宽和高
  • cell的宽和高
  • cell内部控件的宽和高
  • UICollectionView的滚动方式(水平、竖直)

看上去所有的因素我们都应该考虑上去,然而,在实际工程中并非所有因素都会最终影响在一起。

二:影响情况

首先先对水平、竖直方向上布局做个基本了解:

  • 水平方向是指在布局时,先按竖直方向排布cell子项,排满后自动折回下一列,如果cell子项超过UICollectionView的尺寸,会水平滚动
  • 竖直方向是指在布局时,先按水平方向排布cell子项,排满后自动折回下一行,如果cell子项超过UICollectionView的尺寸,会竖直滚动

经过分析可知,在cell高度与UICollectionView高度一致时(或UICollectionView高度不超过cell的两倍):

水平布局时,页面内列数个数主要受如下影响:子项宽度越大,页面内列数个数就越少;
竖直布局时,页面内每行子项个数主要受如下影响:子项宽度越大,页面内每行子项个数就越少。
这里读者可能会有疑问,为什么不考虑UICollectionView高度超过cell的两倍时的情况和子项高度的情况。这里没有分析的原因也很简单:前者是因为一旦UICollectionView高度超过cell的两倍时就自动变成九宫格形式排列;后者是因为在实际业务场景中几乎不存在(试想一下定义的cell显示不全的情景)。

转载地址:https://blog.csdn.net/kicinio/article/details/109908264 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java GC常用算法
下一篇:iOS Swift版 UICollectionView的使用

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年09月18日 10时27分59秒