Objective c UICollectionView:如何定义支持水平和垂直滚动的UICollectionViewLayout?

Objective c UICollectionView:如何定义支持水平和垂直滚动的UICollectionViewLayout?,objective-c,ios6,uicollectionview,uicollectionviewdelegate,Objective C,Ios6,Uicollectionview,Uicollectionviewdelegate,目前我正在尝试创建一个UICollectionView,它应该显示一个简单的excel格式的电子表格,其中包含行和列。我相信,对于UICollectionViews,这应该是一项简单的任务。我真的很想在UICollectionView中实现,而不是在任何网格框架中实现 但是现在我有点悬着。我发现,不幸的是,我不能使用UICollectionViewDelegateFlowLayout,因为它只支持在方向上水平或垂直滚动。但是我需要双向滚动 因此我不得不使用UICollectionViewLayo

目前我正在尝试创建一个
UICollectionView
,它应该显示一个简单的
excel格式的电子表格
,其中包含
。我相信,对于
UICollectionViews
,这应该是一项简单的任务。我真的很想在
UICollectionView
中实现,而不是在任何
网格框架中实现

但是现在我有点悬着。我发现,不幸的是,我不能使用
UICollectionViewDelegateFlowLayout
,因为它只支持
方向上水平或垂直滚动
。但是我需要双向滚动

因此我不得不使用
UICollectionViewLayout
,但对于这一点,我没有找到好的示例,也没有找到如何使用它的方法。有没有人举个例子,如何对
UICollectionViewLayout
进行子类化,以支持


提前感谢。

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

它是
UICollectionViewLayout
的子类。似乎您可以创建自己的
UICollectionViewLayout
子类并向两个方向滚动


你所说的页面是什么意思,你想像滚动视图一样进行分页?我想知道如何在
UICollectionView
中使用UICollectionViewFlowLayout进行垂直滚动,在
UIScrollView
中使用UICollectionViewFlowLayout进行水平滚动。

我在这里添加了一个使用自定义布局实现简单水平和垂直滚动网格的示例


我的示例使用PSTCollectionView,因为我需要ios5支持,但它的API与内置UICollectionView兼容。(实际上,它使用提供的兼容类(PSUICollectionView等)来确保在iOS 6上使用UICollectionView,并在iOS 5上使用PSTCollectionView等。)只需删除这些类上的“PS”前缀,即可恢复到仅iOS 6的UIKit实现

不需要剖析3个样本项目的答案

在UICollectionViewLayout子类中:

  • 实现
    -(CGSize)[collectionViewContentSize]
    并返回一个高度和宽度大于
    UICollectionView
    大小的大小。(可通过以下方式访问:
    self.collectionView.frame.size
  • 计算
    UICollectionViewCell
    s在内容大小而不是框架大小内的布局

  • 注意:确保在UICollectionView中启用了滚动。(默认情况下是打开的。)

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


    是的,我已经知道,我必须使用UICollectionViewLayout而不是UICollectionViewFlowLayout。。。我已经在最初的问题中发布了这个。所以你的评论完全没有回答这个问题,对不起。这对我来说非常有效,不过我必须小心组件的拼写,因为Xcode不会自动识别它,而且一个小的打字错误让我在圈子里转了很久。太好了!使用此源还可以实现对一行项目的选择。