Ios 使用非零contentOffset设置UICollectionView边界动画时出现问题

Ios 使用非零contentOffset设置UICollectionView边界动画时出现问题,ios,uicollectionview,Ios,Uicollectionview,唉。两天后的第二个问题。我开始不太喜欢UICollectionView了 嗯。我有一个UICollectionView设置,运行良好,和一个自定义布局对象管理。。。呃。。。布局。我会发布代码,但有很多,我不确定哪些部分是相关的。我主要是遵循本教程: 问题就在这里。如果我从contentOffset 0,0滚动我的集合视图,然后使其边界动画化,那么任何已经可见并保持可见的单元格的起始位置都是很长的路要走!它们到达了正确的位置,但是开始的时候离左太远,向下太远,大约60像素。无论我从0,0滚动了多远

唉。两天后的第二个问题。我开始不太喜欢UICollectionView了

嗯。我有一个UICollectionView设置,运行良好,和一个自定义布局对象管理。。。呃。。。布局。我会发布代码,但有很多,我不确定哪些部分是相关的。我主要是遵循本教程:

问题就在这里。如果我从contentOffset 0,0滚动我的集合视图,然后使其边界动画化,那么任何已经可见并保持可见的单元格的起始位置都是很长的路要走!它们到达了正确的位置,但是开始的时候离左太远,向下太远,大约60像素。无论我从0,0滚动了多远,每次都是相同的量。奇怪的是,只要我不离开0,0,所有的动画都是我想要的,没有任何问题。不知何故,contentOffset似乎干扰了我的内容单元格的当前帧,而且是以一种完全荒谬的方式

这真的很奇怪,我不明白为什么会发生这种事。有人有线索吗

[编辑]更多信息。作为一个实验,我更改了集合视图的布局样式,以便在调整其大小时仅更改宽度而不是高度。现在看来,开始的Y位置是正确的,所以它很可能是一个不寻常的错误,涉及自动调整大小。作为记录,我检查了我的各个单元格,它们都设置为上/左,固定宽度和高度,所以这不是问题所在


[编辑]和更多信息。看起来,当边界发生变化时,布局视图会被询问是否应该失效。返回“是”是设置边界更改动画的唯一方法。然而,接下来发生的事情是collectionView立即第二次设置自己的边界,以将当前偏移发送回零/零。问题可能是,如果我同时做这两件事,它会变得混乱,但如果我只在第一次调用时无效,它会得到错误的信息,而如果我不在第一次调用时无效,我就根本得不到第二次调用。鸡/蛋。

如果没有关于布局的更多细节,就很难进行诊断,但正如您所说,可能有很多代码。你的布局在做什么?我99%确定在布局视图的部分没有bug。我分析了两个帧列表,确定了单元格的位置,新帧和旧帧都完全正确。正如你所知道的,它的行为很像一个常规的流布局,将大小不等的单元格排列在由节分隔的包装行中,除了节“标题”视图位于左侧下方而不是顶部。正如我所说,它基本上与我链接的教程的代码相同,但是使用不同的frameForItemAtIndexPath:方法。