Tag: uicollectionviewlayout

UICollectionView每行显示3个项目

我有一个从故事板创build的UICollectionView, 我想在视图中每行有3个项目。 我设法做到这一点使用以下内容: – (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { return CGSizeMake(collectionView.frame.size.width/3.6 , (collectionView.frame.size.height-100)/2); } 但是,如果我有6个项目,我有2行,每个3项。 但是,当我有4个项目,它将显示2行,每个2项。 是否有可能显示他们在2行,第一个3项目,第二个只包含1?

在UICollectionView的每个边缘放置一个边距

当UICollectionView被填充项时,它们总是直接到UICollectionView的边缘,如下所示: ————— |XXXXXXX| |XXXXXXX| |XXXXXXX| |XXXXXXX| |XXXXXXX| |XXXXXXX| ————— 我想在每个边缘放置一个边缘,如下所示: ————— | XXXXXX | | XXXXXX | | XXXXXX | | XXXXXX | | XXXXXX | | XXXXXX | ————— 我试图通过将UICollectionView放置在其托pipeUIView中,通过设置其框架来模拟边框,但它在框架内滚动,因此在顶部和底部切断,滚动条也出现在框架边界。 我已经看了API,但我看不出任何明显的实现这一点。 有任何想法吗?

UICollectionView在两个方向上滚动

我做了一个垂直滚动的UICollectionView 。 单元格的宽度大于屏幕宽度,所以我创build了一个基于UICollectionViewFlow布局的UICollectionViewFlow返回正确的计算内容大小。 但是,这是行不通的。 当单元格的宽度小于其工作的屏幕宽度时。 这是否意味着我们在垂直滚动中的宽度不能超过屏幕宽度? 水平滚动是相同的,但是CollectionView的高度仅限于屏幕高度。 有什么办法可以使它工作吗?

UICollectionView粘滞标题在swift中

我试图创build一个粘性的补充标题,它始终保持最佳状态,并且不会响应滚动事件。 到目前为止,我发现的解决scheme仍然对滚动滚动有所反应,并使用自定义的stream布局进行修复,这可能也是解决我的问题的方法。 我想这样做的原因是,标题在其他地方使用,应该是可重用的。 我希望这可以这样解决,我不必创build一个分离的看法。 正如我在Swift中所做的那样,在Swift中有一个例子会很棒。

如何创build一个居中的UICollectionView像Spotify的播放器

我在尝试像Spotify播放器中那样创buildUICollectionView时遇到了很多困难: 对我来说这个问题是双重的。 1)我如何居中细胞,以便您可以看到中间细胞以及左边和右边的一个。 如果我创build正方形的单元格并在每个单元格之间添加间距,单元格将正确显示,但不居中。 2)使用pagingEnabled = YES,collectionview正确地从一个页面滑动到另一个页面。 但是,如果没有将单元格居中,只会将收集视图移动到屏幕宽度的页面上。 所以问题是你如何让页面移动,以获得上述效果。 3)你如何在移动的时候使细胞的大小animation化 我不想太担心这个。 如果我能做到这一点,这将是伟大的,但更难的问题是1和2。 我目前的代码是一个简单的UICollectionView与正常的委托设置和正方形的自定义UICollectionview单元格。 也许我需要子类UICollectionViewFlowLayout? 或者,也许我需要将pagingEnabled为NO,然后使用自定义刷卡事件? 会爱任何帮助!

为UICollectionViewLayout使用失效上下文

所以我已经在我的UICollectionView中实现了工作粘滞标题,部分原因YES从shouldInvalidateLayoutForBoundsChange:返回YES 。 但是,这会影响性能,我不想使整个布局无效,只有我的标题部分。 现在,根据官方文档,我可以使用UICollectionViewLayoutInvalidationContext为我的布局定义一个自定义的无效上下文,但文档是非常缺乏。 它要求我“定义代表可以独立重新计算的布局数据部分的自定义属性”,但我不明白这是什么意思。 有没有人有任何经验UICollectionViewLayoutInvalidationContext ?

UICollectionView与一个粘性头

我发现了一个关于如何制作粘性标题的博客 ,它的效果很好。 唯一的事情是我不认为它考虑到sectionInserts。 这是如何打算看看: 我有我的插入: collectionViewFlowLayout.sectionInset = UIEdgeInsetsMake(16, 16, 16, 16); 粘头,它下移了16个像素: 我试着用原来的代码来思考,我认为问题在于最后一部分: layoutAttributes.frame = (CGRect){ .origin = CGPointMake(origin.x, origin.y), .size = layoutAttributes.frame.size 如果我将其更改为origin.y – 16 ,标题将从正确的位置开始,但是当被推起时,头部的16个像素将脱离屏幕: 我不知道如何让它考虑sectionInsects。 任何人都可以帮忙吗? 以下是博客中的完整代码: – (NSArray *) layoutAttributesForElementsInRect:(CGRect)rect { NSMutableArray *answer = [[super layoutAttributesForElementsInRect:rect] mutableCopy]; UICollectionView * const cv = self.collectionView; CGPoint const contentOffset = cv.contentOffset; NSMutableIndexSet *missingSections = […]

在UICollectionView上从右到左alignment

这是一个非常简单的问题,但是我一直没有find明确的答案(如果我错过了,请纠正我)。 基本上,我的问题是: 是否可以alignmentUICollectionView行内容从右到左,而不是从左到右? 在我的研究中,我已经看到了提示UICollectionViewFlowLayout子类UICollectionViewFlowLayout答案,但是我还没有find一个为右alignment创build的例子。 我的目标是设置2个收集视图,如下所示: 任何帮助是极大的赞赏!

iOS UICollectionView – 默认stream程,从右到左填充行

我正在使用我的一个应用程序UICollectionView,自定义单元格,但默认stream量。 目前这个视图在一行中显示3个单元格(全部大小相同)。 单元格从左到右填充行,但我需要从右到左。 可能吗? 我是否需要创build自定义stream布局? 如果是这样,任何人都可以举个简单的例子吗 任何帮助将不胜感激。

从UICollectionView中删除单元格

我在我的iPhone应用程序中使用CollectionView。 每个收集单元都包含一个删除button。 通过点击button,单元格应该被删除。 删除后,该空间将填充下面的单元格(我不希望重新加载CollectionView,并从顶部再次开始) 如何使用自动布局从UICollectionview中删除特定的单元格?