IGListKit/Source/IGListDisplayDelegate.h
Ryan Nystrom 3102852ce2 Remove IGListSectionType
Summary:
Removing the `IGListSectionType` protocol and adding default implementations into `IGListSectionController`.

- `numberOfItems` returns 1
- `cellForItemAtIndex:` asserts (have to return a cell)
- `didUpdateToObject:` no-ops
- `didSelectItemAtIndex:` no-ops

Fixes #168

Reviewed By: jessesquires

Differential Revision: D4909585

fbshipit-source-id: 8816702504e3fc0683868914ff4dd20e4af7c166
2017-04-19 08:26:30 -07:00

66 lines
2.4 KiB
Objective-C

/**
* Copyright (c) 2016-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#import <UIKit/UIKit.h>
@class IGListAdapter;
@class IGListSectionController;
NS_ASSUME_NONNULL_BEGIN
/**
Implement this protocol to receive display events for a section controller when it is on screen.
*/
@protocol IGListDisplayDelegate <NSObject>
/**
Tells the delegate that the specified section controller is about to be displayed.
@param listAdapter The list adapter for the section controller.
@param sectionController The section controller about to be displayed.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController;
/**
Tells the delegate that the specified section controller is no longer being displayed.
@param listAdapter The list adapter for the section controller.
@param sectionController The section controller that is no longer displayed.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController;
/**
Tells the delegate that a cell in the specified list is about to be displayed.
@param listAdapter The list adapter in which the cell will display.
@param sectionController The section controller that is displaying the cell.
@param cell The cell about to be displayed.
@param index The index of the cell in the section.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController
cell:(UICollectionViewCell *)cell
atIndex:(NSInteger)index;
/**
Tells the delegate that a cell in the specified list is no longer being displayed.
@param listAdapter The list adapter in which the cell was displayed.
@param sectionController The section controller that is no longer displaying the cell.
@param cell The cell that is no longer displayed.
@param index The index of the cell in the section.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController
cell:(UICollectionViewCell *)cell
atIndex:(NSInteger)index;
@end
NS_ASSUME_NONNULL_END