使用 UICollectionViewCompositionalLayout 的 RTL collectionView
RTL collectionView using UICollectionViewCompositionalLayout
我正在尝试找到一种使用 UICollectionViewCompositionalLayout
从右到左 UICollectionView
的方法,但没有相关文档。有人有想法吗?
除了翻转 UICollectionView
和单元格之外,请推荐任何东西。
只需在您的视图控制器中添加以下行。
extension UICollectionViewFlowLayout {
open override var flipsHorizontallyInOppositeLayoutDirection: Bool {
return true
}
}
这是 over-ride 的扩展,允许水平翻转以进行 RTL 布局。
有一个技巧对我有用:
collectionView.transform = CGAffineTransform(scaleX: -1, y: 1)
在 cellForItemAt 中:
cell.transform = CGAffineTransform(scaleX: -1, y: 1)
这取决于你的用法,如果你在tableviewcell中使用,你必须将它设置为layoutSubviews(),如果你在viewcontroller中使用它,你必须在viewdidload生命周期之后使用
collectionView.semanticContentAttribute = .forceRightToLeft
我正在尝试找到一种使用 UICollectionViewCompositionalLayout
从右到左 UICollectionView
的方法,但没有相关文档。有人有想法吗?
除了翻转 UICollectionView
和单元格之外,请推荐任何东西。
只需在您的视图控制器中添加以下行。
extension UICollectionViewFlowLayout {
open override var flipsHorizontallyInOppositeLayoutDirection: Bool {
return true
}
}
这是 over-ride 的扩展,允许水平翻转以进行 RTL 布局。
有一个技巧对我有用:
collectionView.transform = CGAffineTransform(scaleX: -1, y: 1)
在 cellForItemAt 中:
cell.transform = CGAffineTransform(scaleX: -1, y: 1)
这取决于你的用法,如果你在tableviewcell中使用,你必须将它设置为layoutSubviews(),如果你在viewcontroller中使用它,你必须在viewdidload生命周期之后使用
collectionView.semanticContentAttribute = .forceRightToLeft