如何实时获取UITableView的滚动位置

TZE*_*000 3 uitableview uikit ios contentoffset swift

我需要实时获取表格视图的滚动位置.我目前正在做的是:

func animationOffset() {
    let offset = tableView.contentOffset.y
}
Run Code Online (Sandbox Code Playgroud)

此功能连接到计时器

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

如果用户将手指从屏幕上抬起,此代码可以正常工作,但如果他们不这样做并继续滚动,则偏移将永远不会更新,我的应用程序将无法正常运行.

Jel*_*lly 14

你可以实现

func scrollViewDidScroll(scrollView: UIScrollView)
Run Code Online (Sandbox Code Playgroud)

在的UITableViewDelegate这时候的tableview的滚动位置改变时调用,那里你可以使用tableView.contentOffset.y获得滚动位置.


Paw*_*weł 5

小问题 - 在 Swift 3 中

func scrollViewDidScroll(_ scrollView: UIScrollView)
Run Code Online (Sandbox Code Playgroud)

并且不会触发以下内容:

func scrollViewDidScroll(scrollView: UIScrollView)
Run Code Online (Sandbox Code Playgroud)