当集合视图最初占据屏幕的下半部分时,如何拉动集合视图以占据整个屏幕?

Posted

技术标签:

【中文标题】当集合视图最初占据屏幕的下半部分时,如何拉动集合视图以占据整个屏幕?【英文标题】:How can I pull the collection view to occupy the entire screen when it initially occupies bottom half of the screen? 【发布时间】:2018-10-17 03:34:33 【问题描述】:

我在屏幕截图中显示了一个视图。在这个视图中,我有两个集合视图,一个位于顶部的 Your top picks 水平滚动,另一个位于底部的垂直滚动。

现在我希望底部的 collectionView 在被触摸/拖动时占据我的屏幕的大部分,因为其中可能有 100 个单元格。

我尝试查看堆栈溢出和/或库的其他几个问题,但其中大多数只处理一个集合视图和顶部的其他视图,在这种情况下,我可以将整个视图用作 CollectionView 的标题视图并修复它。但是对于 2 个 collectionViews,我对如何实现这一点有点困惑。

到目前为止,collectionView 仅限于停留在底部,如下面的屏幕截图所示。我希望它在交互时占据导航栏正下方的全屏,以便使用时可以有更多的滚动空间。

【问题讨论】:

【参考方案1】:

如果您使用自动布局,它实际上很容易实现,您必须重写 scrollviewDidScroll 方法并获取 contentOffset y 值,如果它是负数,您可以调整集合视图的顶部约束常量以随着滚动用户。

如果您不使用自动布局,您的方法应该是相同的,但您需要更改集合视图的 origin.y 值。

我希望这能让你朝着正确的方向前进

【讨论】:

谢谢,我会尝试使用这种方法,看看效果如何。 如果您需要任何进一步的帮助,请务必报告。

以上是关于当集合视图最初占据屏幕的下半部分时,如何拉动集合视图以占据整个屏幕?的主要内容,如果未能解决你的问题,请参考以下文章

点击CollectionView Cell的下半部分时推动ViewController

当集合视图大小发生变化时,我需要帮助为 UICollectionView 单元格大小设置动画

嵌套集合视图单元格未在方向更改时调整大小

如何滚动到给定的 indexPath.item?

在集合视图下方添加另一个视图

在动画呈现控制器视图的同时动画呈现控制器视图