如何解决不一致的 tableView contentInset 行为
在 tableView 上设置 contentInset 时遇到问题,行为不一致,具体取决于调用时间。我正在使用以下内容:
let edgeInsets = UIEdgeInsets(top: 52,left: 0,bottom: 0,right: 0)
tableView.contentInset = edgeInsets
tableView.scrollIndicatorInsets = edgeInsets
最高值很难设置为 52 以进行测试,但实际上将从另一个角度计算。 我这样做是因为我需要将视图固定在表视图控制器的顶部。 我遇到的行为是,如果我在 viewDidLoad 或 viewWillAppear 函数中使用该代码,它会按我的预期工作。 tableView 位于固定视图下方并滚动到其顶部(因此其所有内容都是可见的)。但是,此时固定视图尚未布局,其高度为 0,因此我无法使用它来正确设置内容插入的顶部(因此是硬 52)。
如果我使用 viewDidLayoutSubviews 函数中的上述代码,这是我一直使用的地方,它不会得到相同的结果。插图实际上已设置,但 tableView 也向下滚动了那么多,将其顶行隐藏在固定视图后面。然后我可以向上滚动以查看顶部单元格,然后将 tableView 插入到标题下,但它不应该像那样开始滚动,我不知道为什么会这样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。