首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UICollectionView重排

UICollectionView重排
EN

Stack Overflow用户
提问于 2015-09-23 10:03:20
回答 1查看 1.3K关注 0票数 1

iOS9为UICollectionView实现了一个很好的重新排序功能。

在我的CollectionViewController中,我实现了以下代码以使其工作:

代码语言:javascript
复制
- (void)collectionView:(UICollectionView *)collectionView moveItemAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath 
{
    _cells[sourceIndexPath.row][1] = [NSString stringWithFormat:@"%li", (long)destinationIndexPath.row];
    _cells[destinationIndexPath.row][1] = [NSString stringWithFormat:@"%li", (long)sourceIndexPath.row];
    [self saveCellorder];
}

‘单元格’数组就在那里,以保存视图中单元格的顺序

--

现在谈谈我的问题/问题:

我的CollectionView里有两个不同大小的细胞,当我把一个小的细胞拖到一个小的细胞上时,它们会改变它们的位置,一切都很好。当我把一个大细胞拖过一个大细胞时,也会发生同样的情况。

但是当我把一个小细胞拖到一个大细胞上时,大细胞变小,小细胞变大。我怎样才能阻止细胞改变它们的大小?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-23 12:00:41

我想,您已经实现了委托方法-collectionView:layout:sizeForItemAtIndexPath:。严格地说,此方法返回的不是单元格的大小。它返回指定位置的单元格的大小。因此,当集合视图顺序发生变化并以一种方式对其作出响应时,您应该抓住时机,告诉-collectionView:layout:sizeForItemAtIndexPath:返回正确的大小。

或者,您可以简单地实现自调整大小的集合视图单元。看一看WWDC 2014“表和收藏视图中的新内容”。这很容易,令人惊叹

有关自调整单元格的更多信息:SO answer

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32736568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档