最近,当新的 ViewController 被推送时,我的应用程序开始滚动跳转:
我尝试了不同的答案,但似乎没有任何效果。我了解到我的应用在设置后将负偏移量设置为 CGPointZero
:
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.tableView.scrollEnabled = NO;
我试图找出是什么设置了偏移量,并且我了解到它是从以下位置调用的 setContentOffset:
UIScrollViewInternal _adjustContentOffsetIfNecessary.
最佳答案
我找到的有关此主题的所有答案均建议设置:
self.automaticallyAdjustsScrollViewInsets = NO;
它不起作用,让我发疯。比我遇到 answer建议 View 层次结构是某些偏移问题的原因。
我很绝望,所以我尝试将这个调试按钮从层次结构的顶部移动,如下所示:
奇怪的跳跃停止了。
后来我了解到您的 tableView 应该始终位于 View 层次结构的开头,以便 autoadjustscrollinsets 功能正常工作,我添加了:
[self.view sendSubviewToBack:self.tableView];
只是为了确保它总是如此,因为苹果不保证它不会破坏 .xibs 层次结构。
关于ios - UITableView 滚动跳转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399978/