IGListKit/Examples/Examples-iOS/IGListKitExamples/SectionControllers/With Composable Layout/UserComposableSectionController.swift
Maxime Ollivier 6117cda80c add user to UICollectionViewCompositionalLayout example
Summary: Adding user cell

Differential Revision: D52260532

fbshipit-source-id: ec3f4f5a70d02e0c6db713ade51938413cb5ee8a
2023-12-19 07:17:30 -08:00

41 lines
1.2 KiB
Swift

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import IGListKit
import UIKit
final class UserComposableSectionController: ListSectionController, CompositionLayoutCapable {
private var user: User?
override func sizeForItem(at index: Int) -> CGSize {
// Size handled by cell
return CGSizeZero
}
override func cellForItem(at index: Int) -> UICollectionViewCell {
let cell: DetailLabelCell = collectionContext.dequeueReusableCell(
for: self,
at: index
)
cell.title = user?.name
cell.detail = "@" + (user?.handle ?? "")
return cell
}
override func didUpdate(to object: Any) {
self.user = object as? User
}
// MARK: CompositionLayoutCapable
func collectionViewSectionLayout(layoutEnvironment: NSCollectionLayoutEnvironment) -> NSCollectionLayoutSection? {
let config = UICollectionLayoutListConfiguration(appearance: .plain)
return NSCollectionLayoutSection.list(using: config, layoutEnvironment: layoutEnvironment)
}
}