具有自动调整单元格的集合视图不再水平滚动

Collection View with self sizing cells not scrollable horizontally anymore

我设置了一个集合视图,并为单元格设置了固定的 heightwidth

现在我想让我的单元格自行调整大小,所以我发现我可以添加

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    layout.estimatedItemSize = CGSize(width: 200, height: 50)
    menuCollectionView.collectionViewLayout = layout
}

使用上面的代码,我的单元格按宽度调整大小(根据需要),但我的集合视图不再水平滚动,而是垂直放置单元格。

estimatedItemSize 是否只认为适用于垂直滚动?我的方法有什么问题?

UICollectionViewFlowLayout 的默认滚动方向是垂直的,因此您也需要为新布局设置 scrollDirection:

layout.scrollDirection = UICollectionViewScrollDirection.Horizontal