iOS UICollectionView實現九宮格效果!!!


總體來說UICollectionView和UITableView大體上比較相似,唯一的不同就是我們在使用UICollectionView的時候需要自定義UICollectionView的cell,而且它還需要先注冊xib,同時 我們還要實現

UICollectionViewDelegate,UICollectionViewDataSource代理協議,如果必要的話也要實現

UICollectionViewDelegateFlowLayout代理協議;

一,首先創建 UICollectionViewFlowLayOut 

1 UICollectionViewFlowLayout * layOut = [[UICollectionViewFlowLayout alloc]init];
2     layOut.itemSize = CGSizeMake((screenWidth - 40)/3, (screenWidth - 40)/3); //設置item的大小
3     layOut.scrollDirection = UICollectionViewScrollDirectionVertical; //設置布局方式
4 layOut.sectionInset = UIEdgeInsetsMake(10, 10,0, 10); //設置距離上 左 下 右

二,添加 UICollectionView

1 UICollectionView * collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, screenWidth, self.view.frame.size.height - 64) collectionViewLayout:layOut];
2     collectionView.backgroundColor = [UIColor whiteColor];
3     collectionView.delegate = self;
4     collectionView.dataSource = self;
5     collectionView.scrollEnabled = NO;
6     [self.view addSubview:collectionView];

三,collectionView注冊xib

1 [collectionView registerNib:[UINib nibWithNibName:@"CollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"cell"]; //注冊xib文件

四,實現代理協議

1 //實現代理協議
2 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
3     return 8;
4 }
5 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
6     CollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
7     cell.img.image = [UIImage imageNamed:@"image1"];
8     return cell;
9 }

五,展示效果

六,UICollectionView功能十分強大,同時也能夠實現不規則的瀑布流效果,希望小伙伴可以自己去發現,探索


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM