Выравнивание справа налево на UICollectionView с содержимым - PullRequest
0 голосов
/ 28 мая 2019

Я пытался ответить на следующий вопрос:

Выравнивание справа налево на 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

Обновление:

Изменить semanticContentAttribute из collectionView на .forceRightToLeft

collectionView.semanticContentAttribute = .forceRightToLeft

от @RajeshKumar ответил

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

Ответы [ 2 ]

1 голос
/ 28 мая 2019

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

collectionView.semanticContentAttribute = .forceRightToLeft

Работает

enter image description here

0 голосов
/ 30 мая 2019

В 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

...