单元格之间的 UICollectionView 距离不变
Posted
技术标签:
【中文标题】单元格之间的 UICollectionView 距离不变【英文标题】:UICollectionView distance between cells not changing 【发布时间】:2014-10-14 13:06:58 【问题描述】:我正在开发 ios 应用程序,但我曾一度陷入困境。
我正在使用水平collectionView
,我想减少两个collectionViewCell
之间的间距,我编写了以下代码sn-p,但它不会改变单元格之间的间距。
.h class
@property (strong, nonatomic) IBOutlet UICollectionView *CollectnVw;
.m class
- (void)viewDidLoad
[_CollectnVw registerNib:[UINib nibWithNibName:@"FilterCustomCell" bundle:nil] forCellWithReuseIdentifier:@"collectionViewCell"];
_CollectnVw.backgroundColor = [UIColor clearColor];
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setItemSize:CGSizeMake(100, 35)];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
[_CollectnVw setCollectionViewLayout:flowLayout];
[_CollectnVw setAllowsSelection:YES];
_CollectnVw.delegate=self;
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
return [FilterNameArr count];
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionViewCell" forIndexPath:indexPath];
UILabel *titleLabel = (UILabel *)[cell viewWithTag:96];
[titleLabel setText:[FilterNameArr objectAtIndex:indexPath.row]];
cell.layer.borderWidth=1.0f;
cell.layer.borderColor=[UIColor blueColor].CGColor;
return cell;
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionView *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
return 50; // This is the minimum inter item spacing, Doesn't changing.....
我可以看到我的单元格,但单元格之间的间距没有改变,我希望单元格之间的间距为零...
请提前帮助和感谢
【问题讨论】:
您是否尝试使用此处指定大小的图像。 [flowLayout setItemSize:CGSizeMake(100, 35)]; [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 我已经在viewDidLoad
plz 中写了这两行代码
抱歉,我的意思是图像大小为 100,35 ,因此我们可以保证,它不会占用不必要的空间。
【参考方案1】:
写到这里,问题终于解决了,
flowLayout.minimumInteritemSpacing=0.0f;
flowLayout.minimumLineSpacing=0.0f;
【讨论】:
【参考方案2】:UICollectionViewFlowLayout 本身暴露了两个属性; minimumInteritemSpacing 设置同一行中项目之间的间距, minimumLineSpacing 设置网格中项目行之间的间距。您是否尝试过在初始化时只设置布局的属性?
flowLayout.minimumInteritemSpacing = 0.0f;
【讨论】:
我编写了您在viewDidLoad
中建议的代码,但没有帮助:(【参考方案3】:
单击集合视图流布局并在尺寸检查器中更改单元格之间的最小间距。 "IN 文档大纲"
【讨论】:
以上是关于单元格之间的 UICollectionView 距离不变的主要内容,如果未能解决你的问题,请参考以下文章
如何删除 UICollectionView 中单元格之间的空间? [复制]
Swift:UICollectionView - 固定单元格之间的空间
UICollectionView,UICollectionViewFlowLayout:不同的单元格宽度和相同的单元格之间定义的间距