我在scrollViewDidScroll
上添加了滚动事件。
但是当用户滚动时,
使用setContentOffSet
时也可以使用。
我想让它仅在用户滚动时起作用。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if (self.lastContentOffset > scrollView.contentOffset.y) {
let contentSize = scrollView.contentSize.height
let tableSize = scrollView.frame.size.height - scrollView.contentInset.top - scrollView.contentInset.bottom
let canLoadFromBottom = contentSize > tableSize
// Offset
let currentOffset = scrollView.contentOffset.y
let maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height
let difference = maximumOffset - currentOffset
if canLoadFromBottom, difference <= -85.0{
loadMore()
}
self.lastContentOffset = scrollView.contentOffset.y
}
答案 0 :(得分:1)
如果滚动代码,则在此之后立即收到一次委托方法,因此在滚动代码之前很容易引发Bool标志并在委托方法中检测到它。