私は円のレイアウトのUICollectionview
を使用しています。アイテムあたりcontentOffset
を計算しようとしていますが、円形レイアウトの場合、contentsize
は内容と一致しません。iOS: `UICollectionview`、` indexPath`でセルの `contentoffset`を取得する方法
- collectionviewの総contentSize = 780
- 最後のアイテムのオフセット量= 397(?)
- 項目ごとにオフセット量= 33(?)
どのような方法がありますアイテムのオフセットをindexPath
または少なくともcollectionview
の最後のアイテムの正しい(397)値で取得できますか? contentoffset
をテストして印刷してこれらの値を得ましたが、スクロールせずにこれらの数値(33と397)をコードで計算したいと思います。
collectionview
の中にあるセルのcontentoffset
(?)を計算する方法はありますか?indexPath
? ありがとう!
たぶん、あなたは、セルのフレームを取得し、それがオフセットコンテンツだ計算知ることによってできますか? UICollectionViewLayoutAttributes * attributes = [self.collectionView layoutAttributesForItemAtIndexPath:indexPath]; CGRect cellRect = attributes.frame; –
OK、私はx、y、幅と高さが私のセルです。しかし、私は自分のuicollectionview内のアイテムのコンテンツオフセットをしたいです。どのようなコードを使用するのですか? –
ContentOffsetは、scrollViewのcontentSizeがframe.sizeより大きい場合、scrollViewがある方向にどれだけスクロールされたかを示します。それ以外の場合はcontentOffsetは0です。UICollectionViewCellの位置に変換したい場合は、CGFloat offsetY = fabs self.collectionView.contentOffset.y - cellLayoutAttributes.frame.origin.y);私はあなたがそれを必要とする理由を知らない。正直言って、UICollectionViewCellはcontentOffsetを持つことができないので、それは正しいロジックではありません。frameとindexPathを持っています。 –