【发布时间】:2018-11-17 18:04:53
【问题描述】:
在我的UIViewController 中有一个UICollectionView。委托设置正确。它工作正常。 isPagingEnabled 设置为 true。但是现在我想更改我在scrollViewWillEndDragging 中尝试过的分页位置,因为在文档中它说:
您的应用程序可以更改 targetContentOffset 参数的值,以调整滚动视图完成其滚动动画的位置。
这个函数被正确调用,但是当我想设置一个新的端点时唯一发生的事情,UICollectionView 滚动到 0。
这是我的代码:
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
print(scrollView.contentOffset, "actual Offset")
print(targetContentOffset.pointee, "future offset")
targetContentOffset.pointee = CGPoint(x: 100, y: 0)
print(targetContentOffset.pointee, "new future offset")
}
在 print("new future offset") 处,它打印正确的值。所以看起来这个函数之后值发生了变化。
【问题讨论】:
-
您的收藏视图的滚动方向是否设置为水平?
-
是的。它是带有 .horizontal 的普通 UICollectionViewFlowLayout
-
我不知道
targetContentOffset.pointee是什么。是可变的吗? -
对不起,我的英语不是很好。你到底是什么意思?
-
分享
targetContentOffset的声明代码
标签: ios swift uiscrollview uicollectionview