UICollectionViewCompositionalLayout: выравнивание ячеек в разделе по правому краю - PullRequest
0 голосов
/ 05 мая 2020

У меня есть этот макет, где основным изображением является UICollectionView, а миниатюры находятся в собственном UICollectionView.

**enter image description here**

Дизайн требует эскизы должны быть выровнены по правому краю, поэтому содержимое в UICollectionView необходимо сдвинуть вправо. Как я могу это сделать? Мне нужно только поддерживать iOS 13 и выше, поэтому я использую UICollectionViewCompositionalLayout.

private func createThumbsLayout() -> UICollectionViewLayout {
  let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .fractionalHeight(1))
  let item = NSCollectionLayoutItem(layoutSize: itemSize)

  let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalHeight(1), heightDimension: .fractionalHeight(1))
  let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item])

  let section = NSCollectionLayoutSection(group: group)
  section.orthogonalScrollingBehavior = .continuous
  section.interGroupSpacing = 16
  section.contentInsets = NSDirectionalEdgeInsets(top: 0, leading: 16, bottom: 0, trailing: 16)

  return UICollectionViewCompositionalLayout(section: section)
}

1 Ответ

0 голосов
/ 05 мая 2020

Я нашел это:

thumbsCollectionView.semanticContentAttribute = .forceRightToLeft

Что работает, если я затем переверну изображения и переверну всю математику IndexPath, чтобы иметь дело с выбором и всем остальным. Это не идеально, поэтому хотелось бы лучшего решения. Неужто должно быть какое-то свойство выравнивания? То же самое было бы полезно для вертикального просмотра коллекции с выравниванием по нижнему краю?

...