ios – UICollectionView目标C中的2个不同的单元格大小

前端之家收集整理的这篇文章主要介绍了ios – UICollectionView目标C中的2个不同的单元格大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用UICollectionView,可以创建以下布局:

如您所见,有两种不同大小的单元格.一个是行的1/4,另一个是3/4.是否可以使用UICollectionView创建这种布局?

有人可以教我怎么做吗???还是有样品???我已经学过很多教程和参考资料.但还是不知道怎么做..

谢谢!

解决方法@H_404_12@
好吧,我暂时硬编码了项目宽度(72.0和23.0). 5.0的其余部分将用于临时间距和edgeInsets.此代码将为您提供您想要的内容.
  1. - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
  2. {
  3. return 10.0;
  4. }
  5.  
  6. - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
  7. {
  8. return 10.0;
  9. }
  10.  
  11. #pragma mark - CollectionViewFlowLayout Methods
  12.  
  13. - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
  14. {
  15. CGSize newSize = CGSizeZero;
  16. newSize.height = 100;
  17.  
  18. CGRect screenBounds = [[UIScreen mainScreen] bounds];
  19. CGSize screenSize = screenBounds.size;
  20.  
  21. if(indexPath.item % 4 == 0 || indexPath.item % 4 == 3)
  22. {
  23. // Size : 1/4th of screen
  24. newSize.width = screenSize.width * 0.23;
  25. }
  26. else
  27. {
  28. // Size : 3/4th of screen
  29. newSize.width = screenSize.width * 0.72;
  30.  
  31. }
  32. return newSize;
  33. }
  34.  
  35. - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
  36. {
  37. return UIEdgeInsetsMake(10,2.0,10,2.0);
  38. }

猜你在找的iOS相关文章