Slide 33
Slide 33 text
$POW
collectionView
.conv()
.create(for: sectionTypes) { (sectionType, section) in
section.create(.header, headerOrFooter: { (header: SectionHeaderFooter) in
header.reusableIdentifier = "Header"
header.size = CGSize(width: UIScreen.main.bounds.width, height: 50)
header.configureView { view, _ in
view.nameLabel.text = "\(sectionType)".uppercased()
view.nameLabel.textColor = .white
view.backgroundColor = sectionType.backgroundColor
}
})
section.create(for: itemModels, items: { (itemModel, item: Item) in
item.reusableIdentifier = "Cell"
item.sizeFor { (item, collectionView, indexPath) -> CGSize in
let gridCount: CGFloat = 3
let edge = floor((collectionView.bounds.width - (gridCount - 1)) / gridCount)
let size = CGSize(width: edge, height: edge)
return size
}
item.configureCell { (cell, info) in
cell.setup(with: itemModel)
}
item.didSelect { [weak self] (item) in
let viewController = DetailViewController(imageName: itemModel.imageName)
self?.navigationController?.pushViewController(viewController, animated: true)
}
})
}