我有一个 View 覆盖在 UITableView 的顶部。但是当用户在顶部 View 上拖动时,我需要触发 UITableView 事件的滚动事件。
我在 View 上添加了 UIPanGestureRecognizer,并在使用 setContentOffset
时成功触发了 scrollViewDidScroll 事件:
@IBAction func handleScroll(sender: UIPanGestureRecognizer)
{
if sender.state == UIGestureRecognizerState.Changed
{
let transtion = sender.translationInView(self.contentViewContainer)
tableViewController.tableView.setContentOffset(CGPointMake(0, 0 - transtion.y), animated: false)
}
}
// UITableView delegate
override func scrollViewDidScroll(scrollView: UIScrollView)
{
// this will be called while using setContentOffset.
}
但是对于这种情况,我该如何触发 scrollViewWillEndDragging
事件呢?
@IBAction func headerScroll(sender: UIPanGestureRecognizer)
{
if sender.state == UIGestureRecognizerState.Ended
{
// Do what?
}
}
override func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
{
// To trigger this?
}
最佳答案
为什么不跟踪 tableview 而不是 scroll。
tableView:didEndDisplayingCell:forRowAtIndexPath:
此方法将在每个单元格显示后调用。
关于ios - 如何触发 scrollViewWillEndDragging 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27577163/