UICollectionView与整个项目和另一个超出-Swift

时间:2018-06-23 16:43:21

标签: ios swift uicollectionview

我正在制作一个包含UITableView的应用程序,并且在此UITableView内有一个包含水平UICollectionView的单元格。 在此UICollectionView中,我试图仅显示一项,另一项的一部分,以向用户指示他可以向右滚动。

这是我想要得到的结果: Wireframe 1

但是实际上,这就是我得到的:

Wireframe 2

这是我的代码:

extension CollectionViewCell: UICollectionViewDelegateFlowLayout {

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        var width = self.frame.width - 32.0

        return CGSize(width: width, height: 275.0)
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
        return UIEdgeInsets.zero
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
        return 0
    }

}

如您所见,sizeForItem宽度为self.frame.width - 32.0,而不是self.frame.width - 48.0。我这样做是因为我的collectionView单元格包含一个容器,该容器与其上级视图的正确间距为16.0pt。

任何人都有解决问题的正确方法吗?

0 个答案:

没有答案