UITableView 滚动跳转
UITableView scroll jumps
最近,当新的 ViewController 被推送时,我的应用程序开始滚动跳转:
我尝试了不同的答案,但似乎没有任何效果。我了解到我的应用在设置 CGPointZero
后将负偏移量设置为:
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.tableView.scrollEnabled = NO;
}
我试图找到设置偏移量的原因,我了解到调用 setContentOffset 的来源:
UIScrollViewInternal _adjustContentOffsetIfNecessary.
我在建议设置的主题中找到的所有答案:
self.automaticallyAdjustsScrollViewInsets = NO;
它不起作用,让我发疯。比我遇到 answer 建议视图层次结构作为一些偏移问题的原因。
我很绝望,所以我尝试将此调试按钮从层次结构的顶部移开,如下所示:
奇怪的跳跃停止了。
后来我了解到您的 tableView 应该始终位于视图层次结构的开头,这样 autoadjustscrollinsets 功能才能正常工作,我添加了:
[self.view sendSubviewToBack:self.tableView];
只是为了确保它始终是因为苹果不保证它不会 fiddle 使用 .xibs 层次结构。
也许您需要将以下代码设置添加到您的 UITableView
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
最近,当新的 ViewController 被推送时,我的应用程序开始滚动跳转:
我尝试了不同的答案,但似乎没有任何效果。我了解到我的应用在设置 CGPointZero
后将负偏移量设置为:
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.tableView.scrollEnabled = NO;
}
我试图找到设置偏移量的原因,我了解到调用 setContentOffset 的来源:
UIScrollViewInternal _adjustContentOffsetIfNecessary.
我在建议设置的主题中找到的所有答案:
self.automaticallyAdjustsScrollViewInsets = NO;
它不起作用,让我发疯。比我遇到 answer 建议视图层次结构作为一些偏移问题的原因。
我很绝望,所以我尝试将此调试按钮从层次结构的顶部移开,如下所示:
奇怪的跳跃停止了。
后来我了解到您的 tableView 应该始终位于视图层次结构的开头,这样 autoadjustscrollinsets 功能才能正常工作,我添加了:
[self.view sendSubviewToBack:self.tableView];
只是为了确保它始终是因为苹果不保证它不会 fiddle 使用 .xibs 层次结构。
也许您需要将以下代码设置添加到您的 UITableView
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;