【发布时间】:2012-10-03 03:57:23
【问题描述】:
在UICollectionView 的装饰和补充意见似乎是一个很大的谜。目前似乎几乎没有示例代码。我设法让这两种类型都在自定义布局中工作(有关详细信息,请参阅post)。只要他们保持在同一个位置,一切都很好(即如果他们的layoutAttributes.frame 没有改变)。
但是,一旦我为装饰或补充视图更改了 layoutAttributes 重新布局,它们就会在视觉上重复 - 即在其原始位置的背景中有一个副本,在其新位置有一个副本。如果我从 XIB 或完全在代码中实例化它们,则行为是相同的,并且对于普通单元格不会发生该行为。
起初我认为这是某种重绘问题,但这些“副本”在重新布局、重绘等后仍然存在。然而,它们不是真正的副本,因为从未调用过 layoutAttributesForDecorationView 等(仅对于新的位置)。 UICollectionView的后台似乎有一些缓存。
有没有人得到这个工作或有任何想法。我必须说我是 iOS 平台的新手,所以它也可能是简单的事情,比如设置“剪辑绑定”或“清除图形上下文”属性(我试过了,但可能是类似的)。
这让我发疯了,奇怪的是那里绝对没有示例代码。
我在问自己:装饰和补充观点不是要重新定位吗? (希望不会)
【问题讨论】:
-
和你一样的问题。我不会重新定位它们,但是在集合视图上执行批量更新时它们会被复制。
-
仅供参考,如果您不调用 performBatchUpdates 或不使用 CollectionView 中的 moveItem、deleteItem 或 insertItem,它不会出现。但是你失去了任何动画......
-
我看到了同样的事情 - 但仅在重新加载数据时,而不是在重新布局时。我在自定义单元格中实现了 -prepareForReuse 以清除所有内容,但仍然看到重复数据(新数据覆盖在旧数据上)。
-
这个运气好吗?还是有这个问题。
标签: objective-c ios ipad uicollectionview