gpt4 book ai didi

ios - UICollectionView Objective C 中的 2 种不同的单元格大小

转载 作者:技术小花猫 更新时间:2023-10-29 11:18:37 25 4
gpt4 key购买 nike

我想使用 UICollectionView,可以创建以下布局:

something like that...

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

谁能教我怎么做???或者有 sample 吗???我已经研究了许多教程和引用资料。但还是不知道怎么做..

谢谢!

最佳答案

好吧,我暂时对项目宽度进行了硬编码(72.0 和 23.0)。 5.0 的其余部分将用于中间间距和 edgeInsets。这段代码会给你正是你想要的。

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
{
return 10.0;
}

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
{
return 10.0;
}

#pragma mark - CollectionViewFlowLayout Methods

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
CGSize newSize = CGSizeZero;
newSize.height = 100;

CGRect screenBounds = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBounds.size;

if(indexPath.item % 4 == 0 || indexPath.item % 4 == 3)
{
// Size : 1/4th of screen
newSize.width = screenSize.width * 0.23;
}
else
{
// Size : 3/4th of screen
newSize.width = screenSize.width * 0.72;

}
return newSize;
}

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(10, 2.0, 10, 2.0);
}

关于ios - UICollectionView Objective C 中的 2 种不同的单元格大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34632138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com