Я пробовал со следующим вопросом:

Выравнивание справа налево на UICollectionView, но моя цель не достигнута.

Что я попробовал:

В viewDidLoad():

collectionView.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)

В cellForItemAtIndexPath():

cell.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)

Мой текущий CollectionView слева, но я хочу, чтобы он выглядел как CollecitonView справа.

dataSource = ["item1","item2","item3","item4","item5","item6"]

enter image description here

< Сильный > Update :

Замените semanticContentAttribute collectionView на .forceRightToLeft

collectionView.semanticContentAttribute = .forceRightToLeft

От @RajeshKumar ответил

Я заметил. элементы имеют слишком большой интервал между двумя элементами, например item1 и item2 Как я могу уменьшить это пространство и остальные вещи? для меня это нормально. с другой стороны, я пытался с layout.minimumInteritemSpacing = 0, но у меня это не сработало и item3 тоже не совсем правильно.

0
Nazmul Hasan 28 Май 2019 в 22:41

2 ответа

Лучший ответ

В viewDidLoad () :

 let alignedFlowLayout = collectionView.collectionViewLayout as? AlignedCollectionViewFlowLayout
 collectionView.transform = CGAffineTransform(scaleX: -1, y: 1)
 [enter link description here][1]alignedFlowLayout?.horizontalAlignment = .left

@Hemang комментарий работал для меня.

Если у вас есть какие-либо подпредставления в вашей ячейке, то вы также должны трансформировать их. Например,

self.titleLabel.transform = CGAffineTransform(scaleX: -1, y: 1)

AlignedCollectionViewFlowLayout

0
Nazmul Hasan 30 Май 2019 в 02:32

Изменить semanticContentAttribute коллекцииПросмотреть на .forceRightToLeft

collectionView.semanticContentAttribute = .forceRightToLeft

Оно работает

enter image description here

1
RajeshKumar R 28 Май 2019 в 20:27