带有部分的iOS GridView
我想实现我自己的GridView类似于KKGridView。
我的gridview有额外的复杂性,因为它需要支持在每个部分中有不同数量的项目/单元格的多个部分。 (见下文)
它还需要能够处理从第1节到第0节以及第0节到第1节的一个单元格。
我写了UIView显示网格,但不支持从一个部分移动到另一个部分。 问题是任何人都有一个支持此function的GridView,或者可以告诉我最好的方式,因为这个GridView需要在iOS 5和iOS 6中支持
我会尝试使用UICollectionView
,与UICollectionViewFlowLayout
和PSTCollectionView
兼容的iOS5的组合。
- 看看
UICollectionViewDelegateFlowLayout
文档,我想你会find你需要的一切,以build立一个按部门自定义布局,你需要的。 -
PSTCollectionView
是一个“开放源代码,与iOS4.3 + UICollectionView 100%API兼容的替代品”。 此外,您可以在UICollectionView
上使用UICollectionView
,并且只能使用iOS5设备上的PSTCollectionView
。 看一下GitHub项目页面 。
我在其中一个正在使用的应用程序中使用这种方法,实现起来非常简单。
编辑:你会采取什么步骤,你想要的将大致如下:
- 您需要下载包含项目中的
PSTCollectionView
。 为此,请按照GitHub页面上的步骤进行操作。 - 在
.h
文件中,导入PSTCollectionView.h
并添加以下两个协议:<PSUICollectionViewDataSource, PSUICollectionViewDelegate>
。 请注意,使用UICollectionView
Apple UICollectionView和iOS5的PSTCollectionView
。 在这里你还应该为你的集合视图添加一个属性:@property (nonatomic, strong) PSUICollectionView *collectionView;
- 在
viewDidLoad:
方法中,你需要有这样的东西:
码:
PSUICollectionViewFlowLayout *flowLayout = [[PSUICollectionViewFlowLayout alloc] init]; [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical]; [flowLayout setItemSize:CGSizeMake(91, 119)]; [flowLayout setMinimumLineSpacing:0]; self.collectionView.dataSource = self; self.collectionView.delegate = self;
- 而且你需要实现你喜欢的以下方法:
方法:
numberOfSectionsInCollectionView: collectionView:numberOfItemsInSection: collectionView:cellForItemAtIndexPath: collectionView:layout:insetForSectionAtIndex: collectionView:layout:minimumLineSpacingForSectionAtIndex: collectionView:layout:minimumInteritemSpacingForSectionAtIndex:
重要提示:不要忘记用PS
为每个提到的UICollectionView
类添加前缀。 例如PSUICollectionView
或PSUICollectionViewLayout
。
编辑2:对于UICollectionView
的一般理解参考这个优秀的教程 。
您可以使用自定义单元格来实现此function。 一个单元有10个子视图,第二个有6个子视图。 它会为你工作。
您可以通过标签(1-6和1-10)获得单元格中的视图
尝试这个