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

Ios 是否防止UITableView标头被下一个标头替换?,ios,swift,uitableview,uiviewanimation,uitableviewsectionheader,Ios,Swift,Uitableview,Uiviewanimation,Uitableviewsectionheader,防止在第一张图片中看到的情况发生的最佳方法是什么,以使其与第二张图片中的情况相同,Header 2位于Header 1的正下方 我之所以要这样做,是因为在设置tableView高度动画时出现了“UI故障”。(详细描述如下:) 在我的另一个项目中,我将tableView的顶部固定到另一个视图(topView)。当用户向下滚动时,我将topView.heightConstraint.constant设置为较小的值,并使用UIView.animate-rootView.layoutifneed()

防止在第一张图片中看到的情况发生的最佳方法是什么,以使其与第二张图片中的情况相同,
Header 2
位于
Header 1
的正下方

我之所以要这样做,是因为在设置tableView高度动画时出现了“UI故障”。(详细描述如下:)

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

我面临的问题是,当用户向下滚动太快/太多时,
header2
会暂时取代
header1
。然后看起来头1在俯视图下方有点小故障,然后再次出现。(当第1节中只有几行时,滚动速度不会太快)

因此,我想通过将
Header 2
放在
Header 1
下,防止这种情况发生,只要动画完成

我试图改变头球的框架

tableView.headerView(forSection: 0)?.frame = /* New frame */

但无法让它工作…:(

如最后所述,它会导致a不喜欢的“UI故障”。我可以忍受这个错误,但每次它发生时都会让我感到不安。我将在顶部引用它:)