私は pinterest スタイルをコーディングしていUICollectionView
ます。それはほとんど働いています。ただし、ビューを何度も前後にスクロールすると、1 つの問題に直面しています。写真がいきなり重なっていきます。私はいくつかのデバッグを行いましたが、これが私が見つけたものです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) 以上です。値を取得する方法がわかりません。
Rect パラメータ (0.000000、568.000000) (w=301.000000、h=249.753784)
私は何か見落としてますか?どんな助けでも本当に感謝します!
ありがとう!