未调用 scrollViewDidEndScrollingAnimation
scrollViewDidEndScrollingAnimation not called
我正在尝试在滚动动画完成后调用一个方法。我有一个 Table 视图,我在 viewDidLoad 中设置委托,像这样 self.tableView.delegate = self
基于 ,但这没有帮助。
基本上,如果单击一个按钮,它会向上滚动到一个特定的单元格,如果起始单元格不可见,我们将其称为起始单元格,在 table 视图中。我正在使用滚动和动画的 scrollToRow 方法
tableViewController.tableView.scrollToRow(at: IndexPath(row: techniqueNo, section: 0), at: UITableViewScrollPosition.top, animated: true)
完成此滚动动画后,我想将动画添加到起始单元格。我尝试从滚动视图委托中添加这个方法,但它没有被调用
func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView) {
print("animation Complete")
}
知道为什么这个方法没有被调用吗?
注意:这与 UITableView is done scrolling 不同,因为
(1) 这是 swift,答案是 Objective-C,并且
(2) 我已经尝试从委托中实现方法来检查动画是否完成,但它没有被调用,我需要帮助找出原因
这是你需要的吗?
将这些功能添加到您的 table 视图控制器...
编辑: 忘记包含 scrollViewDidEndScrollingAnimation
...
override func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
scrollingFinish()
}
override func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
scrollingFinish()
}
override func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if !decelerate {
scrollingFinish()
}
}
func scrollingFinish() -> Void {
print("Scroll Finished!")
}
我正在尝试在滚动动画完成后调用一个方法。我有一个 Table 视图,我在 viewDidLoad 中设置委托,像这样 self.tableView.delegate = self
基于
基本上,如果单击一个按钮,它会向上滚动到一个特定的单元格,如果起始单元格不可见,我们将其称为起始单元格,在 table 视图中。我正在使用滚动和动画的 scrollToRow 方法
tableViewController.tableView.scrollToRow(at: IndexPath(row: techniqueNo, section: 0), at: UITableViewScrollPosition.top, animated: true)
完成此滚动动画后,我想将动画添加到起始单元格。我尝试从滚动视图委托中添加这个方法,但它没有被调用
func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView) {
print("animation Complete")
}
知道为什么这个方法没有被调用吗?
注意:这与 UITableView is done scrolling 不同,因为 (1) 这是 swift,答案是 Objective-C,并且 (2) 我已经尝试从委托中实现方法来检查动画是否完成,但它没有被调用,我需要帮助找出原因
这是你需要的吗?
将这些功能添加到您的 table 视图控制器...
编辑: 忘记包含 scrollViewDidEndScrollingAnimation
...
override func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
scrollingFinish()
}
override func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
scrollingFinish()
}
override func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if !decelerate {
scrollingFinish()
}
}
func scrollingFinish() -> Void {
print("Scroll Finished!")
}