【问题标题】:How to use ScrollView with CollectionView如何将 ScrollView 与 CollectionView 一起使用
【发布时间】:2018-10-19 00:43:17
【问题描述】:

我需要一个视图控制器,该控制器在视图中具有滚动功能。

问题是我需要两个滚动(滚动视图和集合视图)一起工作。 但是当我在所有帧中添加 ScrollView 时,没有任何效果......

这是一张显示我想要的图片:

当我滚动 viewController 时,所有内容一起滚动..

有人知道在 swift 4 中实现此功能的好方法吗?

提前致谢。

【问题讨论】:

  • 也许添加一张你想要的照片和一些关于你尝试过的代码
  • @agibson007 我编辑了帖子.. 谢谢!
  • 所以如果用户触摸视图时顶部滚动,那么它可能都是一个collectionView
  • 不,因为我需要插入的itens需要在collectionView之外
  • 所以底部滚动到它下面?

标签: ios swift uiscrollview uicollectionview swift4


【解决方案1】:

更好的方法是使用 UICollectionViewDelagateFlowLayout 中的滚动方向。只需添加 UICollectionViewDelegateFlowLayout 协议或将您的 ViewController 扩展到它。然后在 UICollectionView 部分使用.scrollDirection

还有这样的示例声明

  let collectionView: UICollectionView = {
    let layout = UICollectionViewFlowLayout()
    ...
    layout.scrollDirection = .vertical //or .horizontal depends on your liking
    let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
    ...// 
    return cv
}()

然后添加到您的视图view.addSubview(collectionView)

更多信息在苹果doc 或跳转到定义

【讨论】:

    【解决方案2】:

    我已经看到了很多方法。其中最流行的是将这些视图嵌入到 UITableView 中。

    您可以将第一个单元格高度设置为与超级视图成比例的量,同时保留另一个包含您的 CollectionView 的单元格。您将能够利用 UITableView 的 scrollView 以及它的内存效率和委托。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2020-08-25
      • 2016-07-10
      • 2017-09-10
      相关资源
      最近更新 更多