繁体   English   中英

自定义布局UICollectionView swift

[英]Custom layout UICollectionView swift

我正在尝试实现这样的自定义布局:

想要布局

我试图通过UICollectionView实现它。 首先,我使用此代码来获得所需的大小:

func collectionView(collectionView: UICollectionView,
    layout collectionViewLayout: UICollectionViewLayout,
    sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize{
        return CGSizeMake((collectionView.frame.size.width / 2) - 2 , (collectionView.frame.size.height / 3) - 2)
}

一切正常。

问题是我的图片没有正确居中。 我是这样做的:

情节提要中的约束

让我解释 :

  1. 一种约束以在X上对齐uiimage的中心
  2. 在Y上做相同事情的一个约束
  3. 保持图像比例的一种约束
  4. 可以说图像的高度是像元高度的70%

    结果非常不理想:

布局的实际结果

我做到了使用自定义布局。

    let collLayout:UICollectionViewFlowLayout = layout as! UICollectionViewFlowLayout
    collLayout.scrollDirection = .Vertical
    collLayout.minimumInteritemSpacing = 10
    let width = (frame.size.width - 3*collLayout.minimumInteritemSpacing)*0.5

    collLayout.itemSize = CGSizeMake(width, width)

    collLayout.sectionInset = UIEdgeInsetsMake(0, 10, 0, 10)

然后使用此自定义布局初始化您的集合视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM