更改 CollectionView 单元格的垂直间距
Posted
技术标签:
【中文标题】更改 CollectionView 单元格的垂直间距【英文标题】:Change Vertical Spacing of CollectionView Cell 【发布时间】:2015-08-28 02:21:44 【问题描述】:我正在使用 UICollectionView 并像这样在集合视图的委托方法中更改项目的大小
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view.
lastIndex = 0;
layoutDiff = 4;
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
if(indexPath.row == (lastIndex + layoutDiff) - 1)
layoutDiff = (layoutDiff == 4)?5:4;
lastIndex = indexPath.row + 1;
return CGSizeMake(213.2, 213.2);
return CGSizeMake(106.6, 106.6);
这是我当前的屏幕。
以及下面的所有单元格都遵循这种行为,这意味着我想要的模式就像一个集合视图项变大,这取决于我想要让它变大但我不想要这个空间的逻辑。我认为如果那里没有空间,那么一切都会正确。有人可以帮忙吗?
【问题讨论】:
【参考方案1】:FlowLayout 对此无能为力。
您必须实现 UICollectionLayout 的子类。
这里有一些关于自定义集合视图布局的文章。
自定义集合视图布局。
https://www.objc.io/issues/3-views/collection-view-layouts/
知道何时子类化流布局 https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/UsingtheFlowLayout/UsingtheFlowLayout.html#//apple_ref/doc/uid/TP40012334-CH3-SW4
【讨论】:
我已经尝试了 url,我已经为我的要求创建了自定义布局,并且我已经分配了值。现在我被困在我需要获取 indexPathsOfItemsInRect 的第一个函数上。我想不通。但感谢您的参考网址。正在研究它们。 如果您觉得我的回答有帮助...采纳它..谢谢。 其实我的计算是正确的,这对我帮助很大。 github.com/ra1028/RACollectionViewReorderableTripletLayout 我刚刚用我的逻辑替换了框架更改代码,用我的代码替换了集合视图内容大小更改逻辑。谢谢你为我指明了正确的方向。以上是关于更改 CollectionView 单元格的垂直间距的主要内容,如果未能解决你的问题,请参考以下文章
如何根据我放入 UITextbox 的文本量来更改 UICollectionView 单元格的垂直大小?