UITableViewController scrollViewDidScroll:在删除单元格期间未调用

Posted

技术标签:

【中文标题】UITableViewController scrollViewDidScroll:在删除单元格期间未调用【英文标题】:UITableViewController scrollViewDidScroll: not called during cell removal 【发布时间】:2015-08-26 09:50:18 【问题描述】:

我有一个tableView,它的内容比屏幕小,所以它不会滚动。

我在更改为编辑模式时正在重新加载其中一个部分,这会导致 tableView 添加行。

当我现在向下滚动然后停用编辑模式时,tableView 会再次删除多余的单元格并滚动到顶部。

在此滚动操作期间,我没有收到任何 scrollView 委托调用。 详情请查看我的实现:GISTViewController.m

【问题讨论】:

我假设您已将 tableView.delegate 设置为视图控制器? 它是UITableViewController 的子类,所以不需要。尽管如此,在拖动时它会被调用,所以它不是该方法的一般问题 嘘!我有类似的问题。这是我在 ios 9 中出现的一个问题,并且在 iOS 8 中没有复制。 UITableViewController 的子类和 scrollViewDidScroll 的覆盖永远不会被调用,同时,其他事件(如 scrollViewWillBeginDragging)被调用就好了。我也尝试过重置委托,但没有成功。 【参考方案1】:

好吧,在阅读了您的问题几次之后,看来我们的问题并不相同。

我相信您的问题是因为在某些动画期间未调用 scrollViewDidScroll:。您应该会看到this answer here,虽然未被接受(可能是因为它们暗示用户交互是触发它的唯一方法),但它还包含指向this answer about getting scrolling events during automated animations 的路径,这可能会有所帮助。

【讨论】:

以上是关于UITableViewController scrollViewDidScroll:在删除单元格期间未调用的主要内容,如果未能解决你的问题,请参考以下文章

如何将选定的 UITableViewController 值添加到以前的 UITableViewController?

在动态 UITableViewController 的标头中嵌入静态 UITableViewController

当转到另一个 UITableViewController 时 UITableViewController 冻结

重新加载 UITableViewController

全志H3 uboot传参到内核分析,boot.scr文件分析

Felix Scr 更改日志级别