在 UICollectionView 上与内容从右到左对齐
Posted
技术标签:
【中文标题】在 UICollectionView 上与内容从右到左对齐【英文标题】:Aligning right to left on UICollectionView with contents 【发布时间】:2019-05-28 19:41:01 【问题描述】:我尝试了以下问题:
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"]
更新:
将collectionView
的semanticContentAttribute
更改为.forceRightToLeft
collectionView.semanticContentAttribute = .forceRightToLeft
@RajeshKumar 回答了
我注意到了。 items 两个元素之间的间距太大,例如 item1
和 item2
我怎样才能减少空间和其余的东西? 好的。另一方面,我尝试使用layout.minimumInteritemSpacing = 0
,但它对我不起作用,item3
也不是对的。
【问题讨论】:
【参考方案1】:将collectionView的semanticContentAttribute
改为.forceRightToLeft
collectionView.semanticContentAttribute = .forceRightToLeft
有效
【讨论】:
我试过了,但让我再检查一次,因为我的集合视图在表格视图单元格中 @NazmulHasan 我在同一个视图控制器中有 2 个收集视图。它有效 我注意到了。 items 两个元素之间的间距太大,例如item1 and item2
我该如何解决剩下的问题。另一方面,我尝试使用layout.minimumInteritemSpacing = 0
,但它对我不起作用。【参考方案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
【讨论】:
以上是关于在 UICollectionView 上与内容从右到左对齐的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionView:1 行水平滚动(从右到左),带有来自右侧的新单元格的自定义动画