STA*_*MMX 8 objective-c ios uicollectionview google-now
我现在正试图复制这个:

如果您熟悉Google的应用程序,它看起来像具有自定义流程布局的UICollectionView.
我正在扩展一个已经用一些额外的代码关闭的问题.
在自定义流布局类中,我可以通过设置负最小行距值来创建"堆叠"效果,并使用以下内容:
- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
{
NSArray *allAttributesInRect = [super layoutAttributesForElementsInRect:rect];
CGPoint centerPoint = CGPointMake(CGRectGetMidX(self.collectionView.bounds), CGRectGetMidY(self.collectionView.bounds));
for (UICollectionViewLayoutAttributes *cellAttributes in allAttributesInRect)
{
if (CGRectContainsPoint(cellAttributes.frame, centerPoint))
{
cellAttributes.transform = CGAffineTransformIdentity;
cellAttributes.zIndex = 1.0;
}
else
{
cellAttributes.transform = CGAffineTransformMakeScale(0.75, 0.75);
}
}
return allAttributesInRect;
}
Run Code Online (Sandbox Code Playgroud)
用于删除动画的滑动工作正常,但我无法创建"堆叠"外观,然后将1个单元格向上拖动到视图中,同时保持剩余的卡片堆叠,就像您在上面看到的那样.
我认为这个观点有两个部分。1. 一堆“纸牌”& 2. 一张纸牌桌。像这样分解它使它更容易处理。
子类创建一张可以拖动UIView的“卡片”(我称之为“卡片” )应该非常简单。UICardView创建这些的“堆栈”也不应该太困难。我认为最难的部分是有效地添加阴影。
第二部分包括许多移动部分:将这些堆栈添加到表中。实际上,该表格用于平滑滚动和一致的间距,并且实际上是完全透明的。您需要计算 的每堆“卡片”的高度heightForRowAtIndexPath:。
这种方法允许平滑滚动、相对较低的内存占用以及相对轻松的高度定制。此外,这些较小的部件应该易于维护和添加功能。
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |