在UICollectionViewController中指定具体的单元格大小吗?

时间:2018-10-08 10:20:48

标签: uicollectionview uicollectionviewcell uicollectionviewflowlayout uicollectionviewdelegateflowlayout

我有一个带有UICollectionViewController的故事板,带有单元原型。没有直接指定像元大小,它会导致随机的UI错误,例如拉伸像元动画。我想直接设置大小,但是我没有找到如何在xcode 10(以及最新的swift)中进行设置。如何解决这个问题?

注意:我知道UICollectionViewDelegateFlowLayout的存在,但是我不知道如何将其应用于UICollectionViewController

2 个答案:

答案 0 :(得分:0)

计算出有两种可用的布局-“流”和“自定义”(这些名称显示在界面生成器中)。

简而言之,如果您打算使用or及其简单的“项目大小”方法,则应该选择“流”

答案 1 :(得分:0)

如果您使用UICollectionViewFlowLayout

  1. 使包含UICollectionViewController实例的UIViewControllerUICollectionView成为UICollectionViewDelegateFlowLayout

    class MyAwesomeCollectionViewControler: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout 
    

    { ... }

  2. 实施以下方法:

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: 100, height: 100) // Return desired size here}