【问题标题】:iOS Autolayout UIControl subclass automatically resize to fit UICollectionView subviewiOS Autolayout UIControl 子类自动调整大小以适应 UICollectionView 子视图
【发布时间】:2020-08-07 13:11:17
【问题描述】:

我有一个UIControl 的子类,其中包含(和控制)UICollectionView。我正在尝试让它自动调整大小以适应 collectionView,但还没有成功。

集合视图在UIControl子类的通用init方法中设置如下:

let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.minimumInteritemSpacing = 0
layout.itemSize = CGSize(width: 30, height: 30)

collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
collectionView.isUserInteractionEnabled = false
collectionView.isScrollEnabled = false
collectionView.delegate = self
collectionView.dataSource = self
addSubview(collectionView)

如果有人能提供帮助,我将不胜感激!提前致谢。

【问题讨论】:

  • 你尝试过使用布局约束吗?
  • @SahilKapoor 我已经尝试过,但到目前为止,我还没有成功。我不太确定我做错了什么,所以我从上面的代码中删除了它们,希望有人能指出我正确的方向。

标签: ios swift uicollectionview autolayout constraints


【解决方案1】:

您可以在 UIControl 子类中创建一个新的自定义方法并在此方法中移动初始化代码。比在 collectionview 中将显示调用该自定义方法的委托方法。

【讨论】:

    【解决方案2】:

    我找到了答案here。子类化 UICollectionView like so 修复了它。

    【讨论】: