我有一个UIScrollView
,它展示了一个图标网格.如果你想象iOS跳板的布局,你会非常接近正确.它有一个水平的分页卷轴(就像跳板一样).然而,似乎布局不太正确.它看起来好像是从上到下排列项目.因此,由于要显示的项目数量,我的最后一列中只有两行.我希望最后一页的最后一行有两个项目,就像你在跳板上看到的那样.
如何使用UICollectionView
及其相关类来实现这一点呢?我必须写一份定制的UICollectionViewFlowLayout
吗?
我有一个UIScrollView
,它展示了一个图标网格.如果你想象iOS跳板的布局,你会非常接近正确.它有一个水平的分页卷轴(就像跳板一样).然而,似乎布局不太正确.它看起来好像是从上到下排列项目.因此,由于要显示的项目数量,我的最后一列中只有两行.我希望最后一页的最后一行有两个项目,就像你在跳板上看到的那样.
如何使用UICollectionView
及其相关类来实现这一点呢?我必须写一份定制的UICollectionViewFlowLayout
吗?
使用UIPageViewController
和UICollectionViewControllers
的数组怎么样?你必须在每UICollectionViewController
件物品中取出适当数量的物品,但这并不难.你会得到与跳板完全相同的外观.
我考虑过这一点,我认为你必须:
self.collectionView.pagingEnabled = YES;
并通过子类化UICollectionViewLayout
来创建您自己的集合视图布局.您可以从自定义布局对象访问self.collectionView
,因此您将知道集合视图的frame
、numberOfSections
和numberOfItemsInSection:
的大小.有了这些信息,您就可以计算出单元格的frames
(在prepareLayout
中)和collectionViewContentSize
.以下是一些有关创建自定义布局的文章:
您可以在不创建自定义布局的情况下执行此操作(或其近似值).在空白视图中增加UIScrollView
,在其中设置启用寻呼.在滚动视图中,添加a集合视图.然后添加宽度约束,在代码中判断您有多少项,并将其constant
设置为正确的值,例如(self.view.frame.size.width * numOfScreens)
.它看起来是这样的(单元格上的数字显示indexPath.row
):https://www.dropbox.com/s/ss4jdbvr511azxz/collection_view.mov如果您对单元格的排序方式不满意,那么恐怕您只能 Select 1.或2.