Я использую эту библиотеку https://github.com/pronebird/UIScrollView-InfiniteScroll
То же поведение можно заметить в демонстрационном приложении: добавьте leftNavBarItem "Up", который будет обрабатывать нажатие, например,
tableView.setContentOffset(CGPoint(x: 0, y: -tableView.contentInset.top), animated: true)
,Прокрутите пальцем вниз, подождите, пока загрузка не будет завершена, затем нажмите кнопку «Вверх», и вы получите беспорядочно contentOffset
.Когда я отлаживал это в своем проекте, я заметил, что метод Swizzled pb_setContentOffset
не регистрировал последние значения, то есть contentSize
было (375, 12000), contentOffset
было (0, 6000), после setContentOffset
(илиscrollRectToVisivle
с (0,0, tableView.frame.size.width, 1.0)) окончательный журнал в pb_setContentOffset
был похож на ± 600, и это было точное положение согласно View Debugger.Второе нажатие при смещении 600 приводит к правильности contentOffset
.Есть мысли или обходные пути?