美文网首页程序员
iOS-UICollectionView 从入门到放弃

iOS-UICollectionView 从入门到放弃

作者: MR_詹 | 来源:发表于2019-04-18 15:03 被阅读3次

详情请看

基础知识点

contentOffset与contentInset的相互影响
https://www.jianshu.com/p/c5bb5e45a95d

使用

https://www.jianshu.com/p/45ff718090a8
https://www.jianshu.com/p/2b9a73aefe28

实例

对于重要参数的解释:
self.collectionView.contentOffset.x :这是内容最左侧相对于 collectionView 最左侧的偏移值
attributes.center.x :这是当前 item 的水平中心点,该 x 值是从内容的最左侧算起,直到当前 item 的水平中心点的,全部加起来就是该 item 的水平中心 x。
https://blog.csdn.net/u013410274/article/details/79925531

卡片图片浏览器(包括动画计算方法)
https://blog.csdn.net/u013282507/article/details/53103816

重要的答疑

问题:-(NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
中的rect的尺寸指的是哪个尺寸?

解决思路来源:https://segmentfault.com/q/1010000002934267

个人的猜测:
平时自定义UIControllerView的布局都是通过重写方法,

方法一
-(NSArray *)layoutAttributesForElementsInRect:(CGRect)rect 

这个方法返回cell的布局属性,并且是多个的,而对于修改cell的布局属性还有一个方法

方法二
-(UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath

中两种的关系就像上面的链接上说的一样,方法一实质上也是通过方法二修改cell的布局属性,通过对方法一的断点我们可以知道返回的数组只有几个(比如4个,而全部的数据有10个),为什么不是一次性返回所有的了,这里就是关于参数rect的缘故了,rect文字的解释就是可见区域的rect,这是为了整体的效果,而对于即将显示的cell做预处理,而这个值不是我们定义的,都是系统根据collectView的bouns的大小相应返回的,当然这个值我们是可以修改的,比如在实际使用的出现“闪屏”(解释:突兀的过度),我们可以适当的加大rect可见区域的值,比如修改后返回的数组变成6个了,这样就能解决闪屏的问题

相关文章

网友评论

    本文标题:iOS-UICollectionView 从入门到放弃

    本文链接:https://www.haomeiwen.com/subject/sdftgqtx.html