簡體   English   中英

如何實時獲取UITableView的滾動位置

[英]How to get the scroll position of a UITableView in real time

我需要實時獲取表格視圖的滾動位置。 我目前正在做的是:

func animationOffset() {
    let offset = tableView.contentOffset.y
}

此功能連接到計時器

timer = NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: #selector(TimelineViewController.animationOffset), userInfo: nil, repeats: true)

如果用戶將手指從屏幕上抬起,此代碼可以正常工作,但如果他們不這樣做並繼續滾動,則偏移量將永遠不會更新,我的應用程序將無法正常運行。

你可以實施

func scrollViewDidScroll(scrollView: UIScrollView)

UITableViewDelegate在 tableview 的滾動位置改變時調用,在那里你可以使用tableView.contentOffset.y來獲取滾動位置。

小問題 - 在 Swift 3 中

func scrollViewDidScroll(_ scrollView: UIScrollView)

並且不會觸發以下內容:

func scrollViewDidScroll(scrollView: UIScrollView)

您可以使用以下函數獲取可見UITableView項的FirstLast INDEX

每次滾動時,此功能也會自動更新(實時)

func scrollViewDidScroll(_ scrollView: UIScrollView){
    //First Visible Item
    print(tableView.indexPathsForVisibleRows?.first)

    //Last visible item
    print(tableView.indexPathsForVisibleRows?.last)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM