回答
在尋找任何可能的內置功能後,我遇到了同樣的問題,讓我能夠輕鬆完成這一任務 - 不幸的是,我找不到這樣的事情。我有我的自我做這種伎倆來解決這個問題:
出於演示的目的,我將在本-ugly-的CollectionView,並告訴你應該如何變化:
訣竅的主要思想是鏡像!將scaleX更改爲-1。
讓我們的鏡子全收觀點:
P.S:斯威夫特3碼。
如果您的collectionView沒有IBOutlet,請創建一個。在我的情況即時調用它collectionView
在的viewController:
override func viewDidLoad() {
super.viewDidLoad()
collectionView.transform = CGAffineTransform(scaleX: -1, y: 1)
}
現在,它應該是這樣的:
「什麼鬼?」
到目前爲止,實際上,這正是您正在尋找的內容,但您仍然需要爲每個單元格內容添加另一個鏡像機制。
在您的自定義單元格的類:
override func awakeFromNib() {
super.awakeFromNib()
contentView.transform = CGAffineTransform(scaleX: -1, y: 1)
}
現在看起來應該是這樣:
希望它幫助。
很酷:)不優雅的方式...但我留下深刻的印象:) –
這是正確的這不是一個優雅的方式,但至少可以解決它的問題!正如我所提到的,我找不到更好的方法來做到這一點...... –
另一種解決方案是繼承UICollectionViewFlowLayout
和實現它是這樣的:
class CustomFlowLayout: UICollectionViewFlowLayout {
//MARK: - Private
private func reversedRect(for rect: CGRect) -> CGRect {
let point = reversedPoint(for: rect.origin)
let newPoint = CGPoint(x: point.x - rect.size.width, y: point.y)
return CGRect(x: newPoint.x, y: newPoint.y, width: rect.size.width, height: rect.size.height)
}
private func reversedPoint(for point: CGPoint) -> CGPoint {
return CGPoint(x: collectionViewContentSize.width - point.x, y: point.y)
}
//MARK: - Overridden
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
guard let attributes = super.layoutAttributesForElements(in: reversedRect(for: rect)) else {
return nil
}
for attribute in attributes {
attribute.center = reversedPoint(for: attribute.center)
}
return attributes
}
}
在Interface Builder只需要給它。
實現這一目標最簡單的方法是改變集合視圖semanticContentAttribute
枚舉實例屬性的值:
的視圖的內容,用來確定 的語義描述是否認爲應該翻轉當在從左到右和從右到左佈局的 之間切換時。
通過設置到.forceRightToLeft
,如下:
// 'viewDidLoad' would be a proper method to do it:
override func viewDidLoad() {
// ...
collectionVIew.semanticContentAttribute = .forceRightToLeft
// ...
}
- 1. 物品對齊從右向左而不是從左向右
- 2. 使UICollectionView從右向左滾動?
- 3. 元素向右而不是左css
- 4. 從左到右顯示從右到左的菜單子菜單
- 5. 如何從右向左選擇元素?
- 6. UIViewAnimationTransitionCurlUp從橫向(左和右)方向從右到左
- 7. Java bitSet開始從右向左或從左向右設置位?
- 8. 使div顯示從左向右滑動
- 9. CSS轉換是從左到右,而不是從右到左
- 10. DDMenu:使子菜單顯示指向左側而不是右側
- 11. TTrackbar從右至左,而不是從左到右
- 12. 堆疊酒吧從右到左而不是從左到右
- 13. jCarousel從右向左滾動
- 14. wxWidgets從右到左方向
- 15. 從左向右滑動Div
- 16. 從右向左擴展一個元素
- 17. 如何從右向左滑動Jquery?
- 18. 如何從右向左製作SlickGrid?
- 19. 從右向左滑動菜單> Jquery
- 20. 如何讓進度條從右到左而不是從左到右過渡?
- 21. 通過單擊左側和右側按鈕動作,將UICollectionView的單元格滾動到左右方向
- 22. 顯示從左到右
- 23. Iphone從右到左顯示
- 24. 從右向左設置qTip2方向(RTL)
- 25. 從右向左設置JFrame方向!
- 26. 從右向左動畫UIView方向,iPhone
- 27. 向左或向右移動從MATLAB
- 28. 從右向左進行單元格滾動/選取框文本?
- 29. 如何在Android中將圖像從左到右從右向左移動?
- 30. 如何使用JS從右向左顯示/隱藏div?
你好@BartłomiejSemańczyk。我想出了更簡單的方法來做到這一點,我想與你分享,希望它有助於:) –