Я использую UICollectionview
с круговой раскладкой. Я пытаюсь вычислить contentOffset
за элемент, но с круговой раскладкой полный contentsize
не соответствует содержимому.iOS: `UICollectionview`, как получить содержимое` contentoffset` ячейки `indexPath`
- общая contentSize В CollectionView в = 780
- Смещение последнего элемента контента = 397 (?)
- Содержание компенсировано за единицу = 33 (?)
Есть ли способ Я могу получить смещение для элемента по его indexPath
или по крайней мере правильное значение (397) для последнего элемента в collectionview
? Я получил эти значения, проверив и распечатав contentoffset
, но я хотел бы рассчитать эти числа (33 и 397) кодом без прокрутки.
Так есть способ рассчитать contentoffset
(?) Ячейки внутри collectionview
от этого indexPath
? Спасибо!
Может быть, вы можете получить кадр клетки и зная, что вычислить его содержание смещения? UICollectionViewLayoutAttributes * attributes = [self.collectionView layoutAttributesForItemAtIndexPath: indexPath]; CGRect cellRect = attributes.frame; –
ok, у меня есть x, y, ширина и высота моей ячейки .. но я хочу, чтобы смещение содержимого элемента внутри моего uicollectionview. какой код я бы использовал? –
ContentOffset сообщает вам, сколько scrollView было прокручено в определенном направлении, если contentSize от scrollView больше, чем frame.size, иначе contentOffset равно 0. Если вы хотите перевести это в положение UICollectionViewCell, это будет примерно так: CGFloat offsetY = fabs (self.collectionView.contentOffset.y - cellLayoutAttributes.frame.origin.y); но я не знаю, зачем вам это нужно. Честно говоря, я не уверен, что это правильная логика, потому что UICollectionViewCell не может иметь contentOffset, у него есть frame и indexPath. –