2

我正在编写一种 pinterest 风格的代码UICollectionView。它主要是在工作。但是,我面临一个问题 - 当多次来回滚动视图时。图片突然重叠在一起。我做了一些调试,这是我在Layout class-

A. 对于内容大小:

我总结了所有可能的单元格的大小并返回一个静态值(在本例中,高度为 817.75..)。

- (CGSize)collectionViewContentSize
{
    NSLog(@"content height=%f width=%f", self.contentSize.height, self.contentSize.width );
    return self.contentSize;
} 

B. 对于以下 API:

- (NSArray*)layoutAttributesForElementsInRect:(CGRect)rect

我在滚动时看到,rect一直在变化。我注意到我的问题似乎与一种特定情况有关 - 当 rect 为 (x=0.000000, y=568.000000) (w=301.000000, h=249.753784) 时。

我通常可以看到以下与 rect 相关的值,它们都很好 -

Rect Parameters (0.000000, 0.000000) (w=301.000000, h=817.753784)  //when moved the screen to the bottom to the top of the collection view
Rect Parameters (0.000000, 0.000000) (w=301.000000, h=568.000000)  //when move the screen to the top of the collection view
Rect Parameters (0.000000, -568.000000) (w=301.000000, h=1136.000000) //when swipe down the screen .. top of the collection view is at the middle of the screen.

它们的高度都等于或高于屏幕尺寸 (568)。我不确定如何获得这些值。

矩形参数 (0.000000, 568.000000) (w=301.000000, h=249.753784)

我错过了什么?任何帮助将不胜感激!

谢谢!

4

0 回答 0