Swift - collectionView 的 scrollView.content.y 是如何确定的?

Swift -how is a collectionView's scrollView.content.y determined?

我有一个包含 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

我想不通的是 92currentOffset 是从哪里来的。

This不是很清楚:

contentOffset

The point at which the origin of the content view is offset from the origin of the scroll view.

拖动collectionView后,currentOffset是怎么确定的?

下图中底部是带有来自 scrollViewDidEndDragging 方法的打印语句的调试器

不确定这是否有任何区别,但 collectionView 的 topAnchor 和 bottomAnchor 被固定到视图的 safeAreaLayoutGuide ..., constant: 0 或者它直接锚定到它的顶部和底部

collectionView第一次拖放后,scrollView的左上角(0,0)距离collectionView的左上角(0,0)的距离。

所以一开始是拉升92点(0,-92)然后放手