Closed cxz31415 closed 3 years ago
麻烦demo压缩后发我邮箱295183917@qq.com
邮件已发送
你先指定为瀑布流布局,2列,填充式布局minimumLineSpacing 大于 item高度会有问题,还得再修改下
不是的,这个只是用来测试的demo,我为了省事才这么写,我自己的项目里面用到了你的库,cell里面有图片和文字,高度都是超过minimumLineSpacing很多的,有的时候比如第一个cell高度为110,第二个为114,相差很小,就会出现这种情况
你可以把我发的demo里面那行填写高度数组的代码改成后面那样,高度都比minimumLineSpacing大,但是minimumLineSpacing照样有问题,不过我只是想要实现瀑布流而已,用你说的办法确实没问题了,感谢告知。 [_dataArrM addObject:@(arc4random_uniform(4) * 20 + 10)]; [_dataArrM addObject:@(arc4random_uniform(10) + 100)];
发你邮箱的包你替换测试下
这个正常了
用填充式布局正常吗?
------------------ 原始邮件 ------------------ 发件人: "czl0325/ZLCollectionView" <notifications@github.com>; 发送时间: 2020年8月18日(星期二) 下午5:16 收件人: "czl0325/ZLCollectionView"<ZLCollectionView@noreply.github.com>; 抄送: "陈昭良"<295183917@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [czl0325/ZLCollectionView] cell高度差比较小的时候 minimumLineSpacing 出现异常 (#32)
这个正常了
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
用填充式布局正常了。
又有问题啦,这个填写小数的时候又不正常了(填充式布局),还是用我发给你的那个demo测试 layout.minimumLineSpacing = 15.5; layout.minimumInteritemSpacing = 10.5; 要不加个向下取整?
minimumLineSpacing 不能大于item的宽高,你是不是超过了?
就是单纯改成小数而已,我之前不是发了demo给你吗?你试下就知道了
你是不是邮件删了?我重新发给你吧,你就改这行代码 layout.minimumLineSpacing = 15.1; layout.minimumLineSpacing = 15; 这个值设置成15.1和15完全是两个效果
提交1.4.3版本了
新建一个项目,把我提供的代码复制进去运行,就会出现如图这种情况![E43DAEC65AB6C71D58D2349EE925DFA3](https://user-images.githubusercontent.com/16182141/90367225-23005b00-e09b-11ea-929a-827d61e95330.png)
// // ViewController.m // ZLCollectionTest // // Created by cxz31415 on 2020/8/17. // Copyright © 2020 cxz31415. All rights reserved. //
import "ViewController.h"
import "ZLCollectionViewVerticalLayout.h"
@interface ViewController ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,ZLCollectionViewBaseFlowLayoutDelegate> @property (copy, nonatomic) NSString collectionViewCellName; @property (strong, nonatomic) UICollectionView collectionView; @property (strong, nonatomic) NSMutableArray *dataArrM; @end
@implementation ViewController
define MainScreen [UIScreen mainScreen]
define MainScreenScale MainScreen.scale
define ScreenF [MainScreen bounds]
define ScreenS ScreenF.size
define ScreenW ScreenS.width
(void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor grayColor];
_dataArrM = [NSMutableArray array]; for (int i = 0; i < 100; i++) { [_dataArrM addObject:@(arc4random_uniform(4) * 20 + 10)]; } [self initCollectionView]; }
-(void)initCollectionView{ _collectionViewCellName = @"UICollectionViewCell";
// _collectionView.scrollEnabled = NO; [self.view addSubview:_collectionView]; }
pragma - mark - collection view datasoure
(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return self.dataArrM.count; }
(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ return 1; }
(UICollectionViewCell )collectionView:(UICollectionView )collectionView cellForItemAtIndexPath:(NSIndexPath )indexPath { UICollectionViewCell cell = [collectionView dequeueReusableCellWithReuseIdentifier:_collectionViewCellName forIndexPath:indexPath]; cell.clipsToBounds = YES; cell.layer.cornerRadius = 20; cell.backgroundColor = UIColor.whiteColor; return cell; }
-(CGSize)collectionView:(UICollectionView )collectionView layout:(UICollectionViewLayout )collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath )indexPath{ NSNumber number = _dataArrM[indexPath.item]; return CGSizeMake((ScreenW - 30) * 0.5, number.floatValue); }
-(UIEdgeInsets)collectionView:(UICollectionView )collectionView layout:(UICollectionViewLayout )collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ return UIEdgeInsetsMake(0, 10, 0, 10); }
@end