/** * Copyright (c) 2016-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import #import @class IGListAdapter; @class IGListSectionController; NS_ASSUME_NONNULL_BEGIN IGLK_SUBCLASSING_RESTRICTED @interface IGListDisplayHandler : NSObject /** Counted set of the currently visible section controllers. */ @property (nonatomic, strong, readonly) NSCountedSet *visibleListSections; /** Tells the handler that a cell will be displayed in the IGListAdapter. @param cell A cell that will be displayed. @param listAdapter The adapter the cell will display in. @param sectionController The section controller that manages the cell. @param object The object that powers the section controller. @param indexPath The index path of the cell in the UICollectionView. */ - (void)willDisplayCell:(UICollectionViewCell *)cell forListAdapter:(IGListAdapter *)listAdapter sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath; /** Tells the handler that a cell did end display in the IGListAdapter. @param cell A cell that will be displayed. @param listAdapter The adapter the cell will display in. @param sectionController The section controller that manages the cell. @param indexPath The index path of the cell in the UICollectionView. */ - (void)didEndDisplayingCell:(UICollectionViewCell *)cell forListAdapter:(IGListAdapter *)listAdapter sectionController:(IGListSectionController *)sectionController indexPath:(NSIndexPath *)indexPath; /** Tells the handler that a supplementary view will be displayed in the IGListAdapter. @param view A supplementary view that will be displayed. @param listAdapter The adapter the supplementary view will display in. @param sectionController The section controller that manages the supplementary view. @param object The object that powers the section controller. @param indexPath The index path of the supplementary view in the UICollectionView. */ - (void)willDisplaySupplementaryView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath; /** Tells the handler that a supplementary view did end display in the IGListAdapter. @param view A supplementary view that will be displayed. @param listAdapter The adapter the supplementary view will display in. @param sectionController The section controller that manages the supplementary view. @param indexPath The index path of the supplementary view in the UICollectionView. */ - (void)didEndDisplayingSupplementaryView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter sectionController:(IGListSectionController *)sectionController indexPath:(NSIndexPath *)indexPath; @end NS_ASSUME_NONNULL_END