目前,我在iOS 8中遇到了一个与UITableViews有关的相当大的问题。我的应用程序的这部分功能是允许用户搜索字符串列表,每次重新加载搜索结果时,结果表都会以编程方式滚动到顶部(如果我不这样做,那么就会有一种情况,我得到50+结果,向下滚动到底部,然后再次搜索,但只得到5-10个结果)。当发生这种情况时,该表不会自动回滚到顶部,因此会产生没有结果的错觉。)
在搜索和重新加载搜索结果表之后,我使用以下代码将搜索结果表滚动到顶部:
[self.searchDisplayController.searchResultsTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];这段代码在iOS 7中正常工作,但是当我在iOS 8中使用它时,它可以正常工作一到两次,但是在那之后,它会滚动到非常远的地方。(如果我搜索的次数足够多,那就需要8到10秒的滚动时间才能恢复到2-3搜索结果)。
我已经尝试了我所能想到的一切,但它仍然不能像在iOS 7中那样在iOS 8中起作用。有人知道为什么会发生这种情况吗?或者如何解决它?
发布于 2014-08-07 15:18:13
最后,我发现了继承的方法setContentOffset,这种方法很有魅力。这是我为iOS 8实现的代码,现在看来工作正常:
[self.searchDisplayController.searchResultsTableView setContentOffset:CGPointZero];https://stackoverflow.com/questions/25149426
复制相似问题