防止UITableView标头被下一个标头替换?

时间:2018-03-20 14:39:55

标签: ios swift uitableview uiviewanimation uitableviewsectionheader

阻止您在第一张图片中看到的内容发生的最佳方法是什么,以便它看起来像第二张图片,其中Header 2位于Header 1下方。

我想这样做的原因是因为在设置tableView高度时会出现“UI-Glitch”。 (在下面更详细地描述:)

Header Clipped

Header not Clipped

在我的另一个项目中,我将tableView的顶部固定到另一个视图(topView)。当用户向下滚动时,我将topView.heightConstraint.constant设置为较小的值,并使用UIView.animate - rootView.layoutIfNeeded()设置布局更改的动画。

我面临的问题是,当用户向下滚动这么快/多时,Header 2会替换Header 1片刻。然后看起来Header 1在topView下面有一点故障,然后再次出现。 (当第1节中只有几行时,这不需要太多的滚动速度)

所以我希望只要动画完成就将Header 2保留在Header 1之下,以防止这种情况发生。

我尝试用

更改标题的框架
tableView.headerView(forSection: 0)?.frame = /* New frame */

但无法让它工作...... :(

0 个答案:

没有答案