UITableView 滚动跳转
Posted
技术标签:
【中文标题】UITableView 滚动跳转【英文标题】:UITableView scroll jumps 【发布时间】:2017-11-20 19:52:34 【问题描述】:最近,当新的 ViewController 像这样被推送时,我的应用开始滚动跳转:
我尝试了不同的答案,但似乎没有任何效果。我了解到我的应用在设置后将负偏移量设置为 CGPointZero
:
- (void)viewWillDisappear:(BOOL)animated
[super viewWillDisappear:animated];
self.tableView.scrollEnabled = NO;
我试图找到设置偏移量的原因,并且我了解到 setContentOffset 它是从以下位置调用的:
UIScrollViewInternal _adjustContentOffsetIfNecessary.
【问题讨论】:
【参考方案1】:我找到的关于建议设置的这个主题的所有答案:
self.automaticallyAdjustsScrollViewInsets = NO;
它不起作用,它让我发疯。比我遇到的answer 暗示视图层次结构是一些偏移问题的原因。
我很绝望,所以我尝试将这个调试按钮从层次结构的顶部移动,如下所示:
奇怪的跳跃停止了。
后来我了解到您的 tableView 应该始终位于视图层次结构的开头,因此 autoadjustscrollinsets 功能可以正常工作,我添加了:
[self.view sendSubviewToBack:self.tableView];
只是为了确保它始终是因为苹果不保证它不会摆弄 .xibs 层次结构。
【讨论】:
【参考方案2】:也许你需要在你的 UITableView 中添加如下代码设置
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
【讨论】:
它关于内容偏移不是插入以上是关于UITableView 滚动跳转的主要内容,如果未能解决你的问题,请参考以下文章
当 UITableView 加载并在滚动后得到修复时,UILabel 向左移动
UITableView beginUpdates/endUpdates 同时滚动使滚动跳转