@timoninas1

Почему UICollectionView zIndex не работает в UICollectionViewLayoutAttributes?

Пытаюсь сделать, чтобы самая первая ячейка в collectionView была позади всех остальных. Даже когда следующая ячейка немного налазит (наплывает) на первую ячейку

┌──────────┐ 
│          │ 
│  Cell 0  │ 
│┌─────────┴┐
└┤          │
 │  Cell 4  │
 │          │
 └──────────┘
 ┌──────────┐
 │          │
 │  Cell 5  │
 │          │
 └──────────┘
 ┌──────────┐
 │          │
 │  Cell 6  │
 │          │
 └──────────┘


Пробовал в кастомном лейауте добавить поведение через zIndex следующим образом

Код в кастомном лейауте
override func prepare() {
  super.prepare()
  /// Some code
  
  let attributes = UICollectionViewLayoutAttributes(forCellWith: indexPath)
  attributes.zIndex = zIndex
  
  /// Some code
}


Код в cell (ячейке) коллекции

override func apply(_ layoutAttributes: UICollectionViewLayoutAttributes) {
    super.apply(layoutAttributes)
    layer.zPosition = CGFloat(layoutAttributes.zIndex)
}


Но не получается нужное поведение. При переиспользовании ячейка первая встает на переднюю позицию

Подскажите, кто сталкивался с такой проблемой, что делаю не так
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы