这个问题已经被问过几次了,我试图在我的代码中包含所有答案的各个方面--仍然不起作用--所以在最新的iOS中可能会出现方法/特征过时的问题,或者我只是做错了事情。但这就是我的观点:
蓝色是CollectionView的背景色。然后有一个粉色背景的PostCell,上面覆盖着一个蓝色的图像视图,我从url (顶部的视频缩略图)设置了一个图像,以及一个包含注释的粉色textView。
我想要的是让PostCell附着在集合视图的顶部和底部,这样您就看不到蓝色部分了。
下面是我设置的约束以及视图层次结构:
在我的TagViewController -这个视图的控制器中,我有:
class TagViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {
....
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
//top, left, bottom, right
return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
}
override func viewDidLoad() {
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
collectionView.contentInsetAdjustmentBehavior = .never
}
....
}
insetForSectionAt方法和我在viewDidLoad中设置的方法来自到目前为止我在stackOverflow上找到的类似问题的答案,比如这里:UICollectionView adds top margin和这里:iOS:Setting UICollectionView cell to view size
发布于 2018-06-05 08:46:53
你尝试过“sizeForItemAt indexPath”方法吗?
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout:
UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: view.frame.width, height: view.frame.height)
}
https://stackoverflow.com/questions/50690377
复制相似问题