我正在编写一种 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)
我错过了什么?任何帮助将不胜感激!
谢谢!