设置UITableView的内容偏移在滚动时不起作用

时间:2015-04-23 06:33:05

标签: ios uitableview cocoa-touch uiscrollview

这是我的代码

// 1
func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {
  scrollTableView()
}

// 2
@IBAction func buttonPressed() {
  scrollTableView()
}

// 3
func scrollTableView() {
  tableView.setContentOffset(CGPointZero, animated: false)
  // tableView.scrollRectToVisible(CGRect(x: 0, y: 0, width: 1, height: 1), animated:true) // does not work either
}

即使方法1 (调用方法3)被调用,表视图也会继续自然滚动减速直至停止。它并没有将自己定位在我想要的地方。

当表格视图没有滚动时,我按下一个按钮调用方法2 ,它确实得到了它的内容偏移量,并且它位于应该的位置。

如何通过在方法1 中调用

来使其工作

由于

2 个答案:

答案 0 :(得分:0)

如果我说得对,以下情况应该有效:

func scrollViewWillBeginDecelerating(scrollView: UIScrollView) {
  scrollTableView()
}

答案 1 :(得分:0)

您还应该实施scrollViewDidEndDecelerating

scrollViewDidEndDragging: willDecelerate:

总是

scrollViewDidEndDragging: willDecelerate:

当表减速和减速结束时,

scrollViewDidEndDecelerating被调用。