Я попытался со следующим вопросом:
Выравнивание справа налево в 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"]
Обновлять:
Замените semanticContentAttribute
в collectionView
на .forceRightToLeft
collectionView.semanticContentAttribute = .forceRightToLeft
@RajeshKumar ответил
Я заметил. элементы имеют слишком большое расстояние между двумя элементами, например item1
и item2
Как я могу уменьшить это пространство и остальные вещи?, для меня это нормально. с другой стороны, я пробовал с layout.minimumInteritemSpacing = 0
, но у меня это не сработало, и item3
тоже не правильно.
Измените semanticContentAttribute
collectionView на .forceRightToLeft.
collectionView.semanticContentAttribute = .forceRightToLeft
Оно работает
@NazmulHasan У меня есть 2 коллекционных представления в одном и том же контроллере представления. Оно работает
item1 and item2
как я могу исправить это, остальные вещи в порядке для меня. с другой стороны, я пробовал с layout.minimumInteritemSpacing = 0
, но у меня это не сработало.
В просмотрDidLoad():
let alignedFlowLayout = collectionView.collectionViewLayout as? AlignedCollectionViewFlowLayout
collectionView.transform = CGAffineTransform(scaleX: -1, y: 1)
[enter link description here][1]alignedFlowLayout?.horizontalAlignment = .left
Комментарий @Хеманг у меня сработал.
Если у вас есть какие-либо подпредставления в вашей ячейке, вы также преобразовали их. Например,
self.titleLabel.transform = CGAffineTransform(scaleX: -1, y: 1)
Я пытался, но позвольте мне проверить еще раз, потому что я просматриваю свою коллекцию в ячейке табличного представления.