我正在制作一个包含UITableView
的应用程序,并且在此UITableView
内有一个包含水平UICollectionView
的单元格。
在此UICollectionView
中,我试图仅显示一项,另一项的一部分,以向用户指示他可以向右滚动。
但是实际上,这就是我得到的:
这是我的代码:
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。
任何人都有解决问题的正确方法吗?