Files
CRBoxInputView/PodCode/Classes/CRBoxFlowLayout.m
2020-06-11 14:09:44 +08:00

59 lines
1.2 KiB
Objective-C

//
// CRBoxFlowLayout.m
// CaiShenYe
//
// Created by Chobits on 2019/1/3.
// Copyright © 2019 Chobits. All rights reserved.
//
#import "CRBoxFlowLayout.h"
@implementation CRBoxFlowLayout
- (instancetype)init
{
self = [super init];
if (self) {
[self initPara];
}
return self;
}
- (void)initPara
{
self.ifNeedEqualGap = YES;
self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
self.minLineSpacing = 10;
self.minimumLineSpacing = 0;
self.minimumInteritemSpacing = 0;
self.sectionInset = UIEdgeInsetsZero;
self.itemNum = 1;
}
- (void)prepareLayout
{
if (_ifNeedEqualGap) {
[self autoCalucateLineSpacing];
}
[super prepareLayout];
}
- (void)autoCalucateLineSpacing
{
if (self.itemNum > 1) {
CGFloat width = CGRectGetWidth(self.collectionView.frame);
self.minimumLineSpacing = floor(1.0 * (width - self.itemNum * self.itemSize.width - self.collectionView.contentInset.left - self.collectionView.contentInset.right) / (self.itemNum - 1));
if (self.minimumLineSpacing < self.minLineSpacing) {
self.minimumLineSpacing = self.minLineSpacing;
}
}else{
self.minimumLineSpacing = 0;
}
}
@end