gpt4 book ai didi

ios - iOS swift 中的 scrollViewDidEndDecelerating 问题?

转载 作者:行者123 更新时间:2023-11-28 15:24:47 28 4
gpt4 key购买 nike

我正在使用分页在我的应用程序中加载记录。为此,我正在使用以下代码。当快速向下滚动时,方法 (self.scrollViewMethod(scrollView)) 被调用多次。请告诉我如何防止这种情况发生?

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
print("scrollViewDidEndDecelerating")

self.scrollViewMethod(scrollView)
}


func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if !decelerate {
print("scrollViewDidEndDragging")
self.scrollViewMethod(scrollView)

}
}



func scrollViewMethod(_ scrollView : UIScrollView) {
if scrollView == mainScrolView {
self.scrollMove()
}

else if scrollView == tblListing || scrollView == Table || scrollView == JobTable {
if scrollView.contentSize.height <= (scrollView.contentOffset.y + scrollView.frame.size.height + 20) {

if presentTap == 1 && loadMoreAll && arrAll.count >= limitCheck {
self.searchService(false)
}

else if presentTap == 3 && loadMoreUrgent && arrUrgentJobs.count >= limitCheck {
self.urgentSearchService(false)
}

else if presentTap == 2 && loadMoreJob && arrJobs.count >= limitCheck {
self.searchJobService(isRefresh: false)
}
}
}
}

最佳答案

例如

func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
NSObject.cancelPreviousPerformRequests(withTarget: self)
//print("called here");
}

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
print("scrollViewDidEndDecelerating")

perform(#selector(self.scrollViewDidEndScrollingAnimation), with: scrollView, afterDelay: 0.2)
}

选项 2

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
let offset: CGPoint = scrollView.contentOffset
let bounds: CGRect = scrollView.bounds
let size: CGSize = scrollView.contentSize
let inset: UIEdgeInsets = scrollView.contentInset
let y: Float = Float(offset.y + bounds.size.height - inset.bottom)
let h: Float = Float(size.height)
let reload_distance: Float = 50
if y > h + reload_distance {
// call your load more actions
}
}

关于ios - iOS swift 中的 scrollViewDidEndDecelerating 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45413640/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com