iOS UICollectionView itemSize在基于相同UICollectionViewFlowLayout的collectionViews之间是不同的

时间:2015-12-14 15:57:03

标签: ios swift uicollectionviewlayout collectionview

我使用了一个名为PagingMenuController的第三个库在主视图中显示了几个collectionViews,并将itemSize的宽度设置为collectionView的width / 1.5的collectionView的宽度和高度,但是在不同的collectionViews中,itemSize是不同的,甚至在同一个collectionView中大小也不一样。

所有这些collectionView的代码和故事板中的设置都是一样的。

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath)

    // Configure the cell
    var imageView = cell.contentView.viewWithTag(100) as? UIImageView
    if imageView == nil {
        imageView = UIImageView(frame: CGRectMake(0, 0, self.collectionView!.bounds.width, self.collectionView!.bounds.width / 1.5))
        imageView!.tag = 100
        imageView!.contentMode = .ScaleAspectFit
        cell.contentView.addSubview(imageView!)
    }
    imageView!.image = UIImage(named: "placeholder")
    return cell
}

func collectionView(collectionView: UICollectionView,
    layout collectionViewLayout: UICollectionViewLayout,
    sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    return CGSizeMake(self.collectionView!.bounds.width, self.collectionView!.bounds.width / 1.5)
}

func collectionView(collectionView: UICollectionView,
    layout collectionViewLayout: UICollectionViewLayout,
    insetForSectionAtIndex section: Int) -> UIEdgeInsets {
    return UIEdgeInsetsMake(10, 0, 0, 0)
}

我试图将宽度设置为UIScreen.mainScreen()。bounds.width,现在所有的collectionView都表现相同,但左边有一些插图应该是0。

有人可以弄清楚导致这种情况的原因以及如何解决这个问题?感谢。

when the width set to be self.collectionView!.bounds.width, one of the weird collectionView when the width set to be self.collectionView!.bounds.width, one of the normal collectionView] when the width set to be UIScreen.mainScreen().bounds.width, there are some margins in left, but I set it to be 0

0 个答案:

没有答案