我有一个包含5个单元格的collectionView。使用此scrollView方法将collectionView向下拖动之后,我将获得以下信息:
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
let currentOffset = scrollView.contentOffset.y // 92 ???
print("currentOffset: \(currentOffset)")
let contentHeight = scrollView.contentSize.height // height of all the cells added together -616.310
print("contentHeight: \(contentHeight)")
let frame = scrollView.frame.size.height // height of the collectionView itself from it's topAnchor to it's bottomAnchor - 725
print("frame: \(frame)")
let maximumOffset = contentHeight - frame // -108.689453125 // distance between contentHeight (bottom of all the cells) and the frame
print("maximumOffset: \(maximumOffset)")
}
contentHeight
是所有加在一起的单元格的高度,即:-616.310
frame
是collectionView本身在其topAnchor和bottomAnchor之间的高度,即:725
maximumOffset
是contentHeight(所有单元格的底部)与框架之间的距离,即:-108.689453125
我不知道currentOffset
的{{1}}是从哪里来的。
This不太清楚:
contentOffset
内容视图的原点与 滚动视图的原点。
拖动collectionView后,如何确定currentOffset?
下面底部的图片是调试器,其中包含来自92
方法的打印语句
不确定这是否有任何区别,但是collectionView的topAnchor和bottomAnchor固定在视图的scrollViewDidEndDragging
上,还是直接锚定在其顶部和底部
答案 0 :(得分:0)
这是在拖动collectionView并将其放开后,scrollView的左上角(0,0)与collectionView的左上角(0,0)的顶部之间的距离。
所以它最初被拉高了92点(0,-92),然后放开。