UICollectionView:如何定义,支持水平和垂直滚动UICollectionViewLay

2019-07-03 15:00发布

目前,我试图创建一个UICollectionView ,应该显示一个简单的excel-like-spreadsheet ,以rowscolumns 。 这应该是一件容易的事与UICollectionViews ,我信了。 我真的想这样做的实施UICollectionView ,不以任何grid framework

但此刻我挂一点点。 我已经想通了,我好遗憾的是不能使用UICollectionViewDelegateFlowLayout ,因为这仅支持scrolling任何 horizontallyvertically方向。 但我需要scrolling两个方向。

因此, 我必须使用UICollectionViewLayout ,但对于这个我没有找到很好的例子,如何使用它。 已经有人对你一个例子,如何继承的UICollectionViewLayout支持rowscolumns

提前致谢。

Answer 1:

UICollectionViewFlowLayout绝对不能- “沿着一个轴的网格布局仅滚动,无论是水平或垂直”。

它的子类UICollectionViewLayout 。 好像你可以创建自己的子类UICollectionViewLayout并在两个方向上滚动。

你是什么意思页,你想要做分页就像一个scrollview ? 我想了解一下在使用UICollectionViewFlowLayout UICollectionView垂直滚动,一个里面UIScrollView水平滚动。



Answer 2:

我添加使用自定义布局的例子在这里实现一个简单的水平和垂直滚动网格https://github.com/neildavis/MyCollectionView

我的例子使用PSTCollectionView,因为我需要支持iOS 5,但它的API与内置的UICollectionView兼容。 (实际上它使用提供了保证它采用了UICollectionView在iOS 6兼容类(PSUICollectionView等)和回退到使用PSTCollectionView等在iOS 5)刚刚取消对这些的“PS”前缀恢复到iOS 6只执行的UIKit 。



Answer 3:

回答这个问题并不需要一个解剖样本3个项目

在您的UICollectionViewLayout子类:

  1. 实施-(CGSize)[collectionViewContentSize]和在高度和宽度比所述返回一个尺寸大UICollectionView的大小。 (可通过: self.collectionView.frame.size
  2. 计算你的布局UICollectionViewCell内容大小,而不是框架大小内秒。

注意:确保滚动在UICollectionView启用。 (默认情况下它是上)。



Answer 4:

我需要类似的东西。 我创建了一个自定义CollectionViewLayout。

https://github.com/akashraje/BidirectionalCollectionViewLayout



文章来源: UICollectionView: How to define a UICollectionViewLayout that supports horizontally and vertically scrolling?