在页面中,文档被列为纸张大小的矩形,下面是标题和日期。我用UICollectionView重新创建了这个外观。
当用户点击标题以重命名文档时,所有其他文档都会淡出,而您点击的文档会从当前位置过渡到中心,并在键盘滑出时稍微扩大一些尺寸。
(我发现this video显示了我正在谈论的内容)
使用UICollectionView时,最好的方法是什么?
答案 0 :(得分:1)
你必须继承UICollectionViewFlowLayout
。然后,当执行所需的操作(重命名)时,将需要编辑的单元格的indexPath
传递给布局。
然后您可以添加所需的布局属性,如下所示:
-(void)applyRenameAttributes:(UICollectionViewLayoutAttributes *)attributes
{
if (self.renameIndexPath != nil) {
if (attributes.indexPath == self.renameIndexPath) {
// add attributes for the item that needs to be renamed
} else {
attributes.hidden = YES;
}
}
}
-(NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
{
NSArray *allAttributes = [super layoutAttributesForElementsInRect:rect];
for (UICollectionViewLayoutAttributes *attributes in allAttributes) {
[self applyRenameAttributes:attributes];
}
return allAttributes;
}
-(UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewLayoutAttributes *attributes = [super layoutAttributesForItemAtIndexPath:indexPath];
[self applyRenameAttributes:attributes];
return attributes;
}
更改renameIndexPath
值时,您还需要使布局无效(在设置器中执行此操作)。重命名完成(或取消)后,您将renameIndexPath
更改回nil
。