我想在用户滚动到下一页后停止在ScrollView上向后滚动。我怎么能这样做。
我尝试了以下两个代码,但第一个代码没有任何影响
self.scrollView.contentOffset = CGPointMake(self.view.frame.width,0)
,第二个仅禁用向前滚动。
self.scrollView.contentSize = CGSizeMake( 2 * scrollWidth, scrollHeight);
答案 0 :(得分:1)
要禁用单向滚动,请实现UIScrollViewDelegate方法scrollViewDidScroll并将逻辑放在那里。例如,这个TableViewController只能向下滚动,因为如果用户试图向上滚动,我们只是覆盖contentOffset,在它们看到之前有效地撤消它们的滚动。
class ViewController: UITableViewController {
var lastScrollPosition = CGPoint.zero
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
guard scrollView.contentOffset.y > lastScrollPosition.y else {
scrollView.setContentOffset(lastScrollPosition, animated: false)
return
}
lastScrollPosition = scrollView.contentOffset
}
}