我正在尝试UICollectionView功能(这是一个非常好的...)。有一点不清楚 - 如何支持与UICollectionViewCells大小相关的4英寸和3.5英寸屏幕。我希望边缘之间和单元格之间的间隙保持不变,并根据设备更改单元格大小。
我该如何处理?
答案 0 :(得分:1)
您应该首先继承UICollectionViewFlowLayout
。一些实现可以在头文件中这样:
@interface CustomCollectionViewLayout : UICollectionViewFlowLayout
@end
执行文件:
@implementation CustomCollectionViewLayout
-(id) init
{
if(self = [super init])
{
BOOL is4Inch = ([[UIScreen mainScreen] bounds].size.height == 568.0);
CGSize ItemSize = is4Inch ? CGSizeMake(150, 120) : CGSizeMake(90, 72);
[self setItemSize:ItemSize];
[self setMinimumInteritemSpacing:10.0];
[self setMinimumLineSpacing:10.0];
[self setScrollDirection:UICollectionViewScrollDirectionVertical];
[self setHeaderReferenceSize:CGSizeMake(0, 5)];
[self setFooterReferenceSize:CGSizeMake(0, 20)];
[self setSectionInset:UIEdgeInsetsMake(0, 10, 0, 10)];
}
return self;
}
@end
然后你应该设置UICollectionView
的布局,例如:
CustomCollectionViewLayout * customLayout = [[CustomCollectionViewLayout alloc] init];
self.collectionView = [[UICollectionView alloc] initWithFrame:someFrame collectionViewLayout:customLayout];
或者喜欢:
[self.collectionView setCollectionViewLayout:customLayout animated:YES];