【问题标题】:Two UIViews & one UICollectionView inside UIScrollView (or better approach)UIScrollView 内的两个 UIView 和一个 UICollectionView(或更好的方法)
【发布时间】:2015-07-23 21:32:31
【问题描述】:

我需要有这样屏幕的 iOS 应用:

screen

这个想法是当用户开始向下滚动第一个 UIView 以向上移动,直到第二个 UIView 到达它会粘住的顶部,并且只有 UICollectionView 会继续向上移动。

目前我正在使用这种结构

  • UIScrollView(主滚动)
    • UIView(一些横幅)
    • UIView (UISegmentedControl)
    • UICollectionView(带有项目的网格,禁用滚动,使用主滚动)

我设法做到了,但我需要在代码中手动设置 UICollectionView 高度约束(根据网格中的所有项目计算),以便出现在 UIScrollView 中(其他一切都由 Storyboard 中的 AutoLayout 处理)。这样做的问题是 UICollectionView 认为所有单元格都是可见的并加载它们,所以整个回收和重用的东西不起作用。更糟糕的是,我在 UICollectionView 上使用 willDisplayCell 方法在显示最后一个单元格时加载更多数据,但现在它一次加载所有页面。

我的问题(其实是2个)

  1. 如何解决上述问题?
  2. 实现此功能的正确方法是什么?也许我的整个方法在概念上是错误的?

【问题讨论】:

  • 你最后是怎么做到的?我想实现同样的目标。

标签: ios swift uiview uiscrollview uicollectionview


【解决方案1】:

集合视图本身就是一个滚动视图。因此,也许您只能使用带有部分甚至自定义布局的 Collection 视图来拥有相同的功能?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 2013-04-19
    相关资源
    最近更新 更多