将UICollectionView上的内容从右向左对齐

时间:2019-05-28 19:41:01

标签: swift uicollectionview uicollectionviewcell uicollectionviewlayout

我尝试了以下问题:

Aligning right to left on 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回答

我注意到。项在两个元素(例如item1item2)之间的间距太大了。如何减少空间和剩余空间?对我来说好吗?另一方面,我尝试了layout.minimumInteritemSpacing = 0,但是它对我来说不起作用,item3也不适用。

2 个答案:

答案 0 :(得分:1)

将collectionView的semanticContentAttribute更改为.forceRightToLeft

collectionView.semanticContentAttribute = .forceRightToLeft

有效

enter image description here

答案 1 :(得分:0)

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