如何在CollectionView中使用ScrollView

时间:2018-05-09 01:16:59

标签: ios swift uiscrollview uicollectionview swift4

我需要一个在视图中有滚动的视图控制器。

问题是我需要两个(scrollView和collectionView)的卷轴一起工作。 但是当我在所有框架中添加ScrollView时,没有任何作用......

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

scroll + collection

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

有人知道在swift 4中实现这个的好方法吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

我已经看过很多方面。其中最受欢迎的是将这些视图嵌入到UITableView中。

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

答案 1 :(得分:0)

更好的方法是在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中的更多信息或跳转到定义