Я хочу, чтобы мой вертикальный UIScrollView останавливался только при максимальном смещении содержимого, если пользователь прокручивает вверх, или минимальном смещении содержимого, если они прокручивают вниз.
Я использую следующие две функции
func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint,
withScrollingVelocity velocity: CGPoint) -> CGPoint {
return CGPoint(x:0,y:self.scrollView.contentSize.height - self.scrollView.bounds.height)
}
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if velocity.y > 0 {
targetContentOffset.pointee.y = scrollView.contentSize.height - scrollView.bounds.height
} else {
targetContentOffset.pointee.y = CGFloat(0)
}
}
Первая функция никогда не вызывается. Второй вызывается правильно, когда я прокручиваю вверх или вниз, но установка значения pointee.y, кажется, не меняет contentOffset - я все еще могу, например, прокручиваться и останавливаться в середине. Как я могу это сделать?