问题描述
使用后
beginUpdates()
endUpdates()
这个方法->
tableView.setContentOffset(_, animated:) // do not work
调用这 2 个方法后不起作用(即使我使用计时器),但没有它们也可以工作!任何想法为什么?
Do not work after calling that 2 methods (even if I use timer), but works without them!Any ideas why?
setContentOffset 仅在我在 beginUpdates() + endUpdates()
之后手动滑动 tableView 并且在 setContentOffset
被调用之前才起作用.
setContentOffset works only if I swipe tableView manually after beginUpdates() + endUpdates()
and BEFORE setContentOffset
is being called.
scrollToRowAtIndexPath
虽然工作正常,但我只需要 setContentOffset
.
scrollToRowAtIndexPath
works fine though but I need only setContentOffset
.
推荐答案
tableView.setContentOffset(_, animation:)
现在可以在我调用主线程时使用!所以,
tableView.setContentOffset(_, animated:)
works now when I calling with a dispatch to the main thread! So,
beginUpdates()
endUpdates()
DispatchQueue.main.async {
tableView.setContentOffset(CGPoint(x: 0, y: -offset), animated: true)
}
这种方式有效.
这篇关于tableView.setContentOffset(_, animation:) 在 beginUpdates() 后不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!