在我正在开发的应用程序中,我有一个普通样式的 UITableView,它可以包含一个包含零行的部分。我希望能够使用 scrollToRowAtIndexPath:atScrollPosition:animated: 滚动到此部分,但由于缺少子行,当我尝试滚动到此部分时出现错误。
Apple 的日历应用程序能够做到这一点,如果您在列表视图中查看您的日历,并且您的日历中没有今天的事件,则会为今天插入一个空白部分,您可以使用工具栏中的“今天”按钮滚动到它在屏幕底部。据我所知,Apple 可能正在使用自定义的 UITableView,或者他们正在使用私有 API ...
我能想到的唯一解决方法是在 0 像素高的地方插入一个空的 UITableCell 并滚动到该位置。但据我了解,拥有不同高度的单元格对于滚动性能确实很不利。无论如何,我还是会尝试一下,也许性能不会太差。
更新
由于似乎没有解决方案,我已经向苹果提交了一个错误报告。如果这也影响到您,如果您希望更快地解决此问题,请提交 rdar://problem/6263339(打开雷达链接)的副本。
更新#2
我对这个问题有一个不错的解决方法,看看我下面的答案。