我尝试了这个解决方案here,但它似乎只适用于垂直布局。我试图让它适用于水平布局。在我的情况下,我总是希望在顶部有3个单元格,在底部有2个中心对齐的单元格。
实施例:
答案 0 :(得分:0)
我认为这应该对你有所帮助(我在委托方法中定义了insets,因为collectionview会以我的第一部分为中心并且保持其他部分不受影响):
class CollectionViewFlowLayout: UICollectionViewFlowLayout {
// MARK: - Constants
private struct Constants {
static let minimumInteritemSpacing: CGFloat = 12.5
static let minimumLineSpacing: CGFloat = 16.5
static let itemSize = CGSize(width: 64.0, height: 90.0)
}
override func prepare() {
guard let collectionView = collectionView else { return }
/// Defining flow layout for collectionview presentation
itemSize = Constants.itemSize
headerReferenceSize = CGSize(width: collectionView.dc_width, height: 1)
scrollDirection = .vertical
minimumInteritemSpacing = Constants.minimumInteritemSpacing
minimumLineSpacing = Constants.minimumLineSpacing
super.prepare()
}
}
此外,布局由类定义:
<body>
<h1>Der Gecko<h1>
<h2>(lat. Gekko gecko)<h2>
<body>