Ios 如何在UIScrollView上调整UIView的大小?

Ios 如何在UIScrollView上调整UIView的大小?,ios,swift,uitableview,uiview,uiscrollview,Ios,Swift,Uitableview,Uiview,Uiscrollview,我有一个自定义标题,当用户滚动时,我想“折叠”该标题: ---------- ---------- - - - Header - - Header - ---------- - - - Body - ---------- -> - - - Body - - - - - - - - - - - -

我有一个自定义标题,当用户滚动时,我想“折叠”该标题:

----------      ----------
-        -      - Header -
- Header -      ----------
-        -      -  Body  -
----------  ->  -        -
-  Body  -      -        -
-        -      -        -
-        -      -        -
-        -      -        -
----------      ----------

简单地使用Scroll/Table/CollectionView的
contentOffset
属性来计算标题的高度是不好的,因为主体顶部在折叠时会滚动到标题下方。我希望用户的滚动动作折叠标题,然后只有当标题完全折叠时,才允许正文向上滚动内容。我该怎么办?在scroll视图顶部使用手势识别器似乎过于复杂,但我想不出更简单的解决方案。

您可以尝试实现scroll视图委托,但这仍然很复杂,除此之外,我想不出任何其他方法。也许您可以在Github上找到一个具有此功能的库,因为这似乎是一个常见的特性。这可能会对您有所帮助:您希望它是交互式的吗?我的意思是,你希望折叠发生在动画中,或者它应该是由手势控制的?在滚动视图的顶部创建标题作为单独的视图。最初停止滚动。实现触摸方法。折叠标题。使滚动视图替换标题的位置(设置所有内容的动画)。标题折叠后打开滚动。我的想法:)