我的故事板中有一个UICollectionView
,其中UICollectionViewCell
我点击并拖动它的大小100w 100h。我也有一个控制它的swift文件。代码如下:
override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
//#warning Incomplete method implementation -- Return the number of sections
return 4
}
override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
//#warning Incomplete method implementation -- Return the number of items in the section
return 10
}
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! UICollectionViewCell
// Configure the cell
return cell
}
然而,当我运行它时,第一行被拉伸如下:
如何让它们全部大小相同?
答案 0 :(得分:3)
您的问题不是“拉伸”的第一行单元格。它是一个0点的插入部分,它使第0部分的最后一个单元格与第1部分的第一个单元格相冲突。
您可以通过实施UICollectionViewDelegateFlowLayout
并设置插入部分来解决此问题。让您的课程符合UICollectionViewDelegateFlowLayout
,将collectionView.delegate
设为self
,并实施UICollectionViewDelegateFlowLayout
所需的功能。相关代表职能包括:
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat