1

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

好的。我有一个 UICollectionView 设置,运行良好,以及一个自定义布局对象管理......呃......布局。我会发布代码,但有很多代码,我不确定哪些部分是相关的。大多数情况下,我只是按照本教程进行操作: http: //skeuo.com/uicollectionview-custom-layout-tutorial

现在问题就在这里。如果我将我的集合视图从 contentOffset 0,0 滚动开,然后使其边界设置动画,那么任何已经可见且仍然可见的单元格的起始位置都将有很长的路要走!它们到达了正确的位置,但开始时距离太左太远了大约 60 个像素并且太低了。无论我从 0,0 滚动多远,每次总是相同的数量。奇怪的是,只要我不离开 0,0,它就会完全按照我的意愿进行动画处理,没有任何问题。不知何故,contentOffset 似乎干扰了我的内容单元格的当前帧,并且以一种完全荒谬的方式。

这真的很奇怪,我不知道为什么会这样。有人有线索吗?

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

[编辑] 和更多信息。似乎,当边界发生变化时,布局视图被询问是否应该失效。返回 YES 是动画边界变化的唯一方法。然而,然后发生的是 collectionView 第二次立即设置自己的边界,以将当前偏移量发送回零/零。问题可能是,如果我两者都做,它会感到困惑,但如果我只在第一次调用时无效,它会得到错误的信息,而如果我在第一次不无效时,我根本不会得到第二次。鸡蛋。

4

0 回答 0