我正在尝试将填充添加到UICollectionView的容器中。我希望它看起来像是一个10pt填充四周。所以在示例屏幕中,底部有一个10pt的填充:
layout.minimumInteritemSpacing = layout.minimumLineSpacing = 10;
我正在使用UICollectionViewFlowLayout来布局单元格。我还尝试了一个“技巧”,我在其中添加了10pt视图,但内容似乎没有滚动浏览视图,因为它们是分开的。
答案 0 :(得分:50)
请尝试将以下代码放入viewDidLoad()
:
collectionView!.contentInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
这将为collectionView的每一侧添加填充。
PS:我知道这个问题已经有一段时间了,但它可能对某人有所帮助;)
答案 1 :(得分:5)
您sectionInset
的{{1}}属性似乎是您需要修改的内容。
您可以使用UICollectionViewFlowLayout
为顶部,左侧,右侧和底部创建带有边距的UIEdgeInsetsMake
,并将其设置为UIEdgeInsets
属性。
以下是sectionInset
的文档:https://developer.apple.com/library/ios/documentation/uikit/reference/UICollectionViewFlowLayout_class/Reference/Reference.html
答案 2 :(得分:0)
我使用了UICollectionViewDelegateFlowLayout
委托中的几种方法来完成我想要的。我试图将“填充”添加到有阴影的单元格中。这是为了确保它们具有“浮动”效果,并且不会碰到UICollectionView
的边缘。
首先,调用sizeForItemAt indexPath
方法并为单元格指定大小:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: collectionView.bounds.width * 0.80, height: collectionView.bounds.height * 0.98)
}
然后,调用insetForSectionAt section
方法,并设置单元格的插图:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: 20, left: 25, bottom: 20, right: 25)
}