UICollectionView的反向对齐

时间:2018-01-22 10:20:35

标签: ios swift uicollectionview

func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAt indexPath: IndexPath) -> CGSize {
    var x = CGSize(width: 88, height: 88)

    if currentCollectionviewMode == .photos {
        if indexPath.row == 0 {
            x = CGSize(width: 88, height: 88)
        } else {
            x = CGSize(width: CGFloat(originalImages[indexPath.row - 1].size.width) / CGFloat(originalImages[indexPath.row - 1].size.height) * 88, height: 88)
        }
    } else {
        x = CGSize(width: 88, height: 88)
    }
    return x
}

在运行此代码之前一切都很顺利,但是当这段代码运行时我的collectionView对齐从rtl到ltr的变化我的语义是forceRightToLeft,有什么建议吗?

我尝试了CGATransform(scaleX:-1,y:1),但collectionviewcells向左移动,而viewDidAppear()集合视图中的scrollToitem显示单元格错误。

2 个答案:

答案 0 :(得分:2)

要在UICollectionViewLayout中定义不同的单元格对齐方式,您必须实现自己的network_mode: bridgesee this answer以供参考),或者使用某些库(例如{ {3}})。

答案 1 :(得分:0)

在collectionView单元格的每个子视图中执行此操作

{{3}}