IGListKit/Source/IGListScrollDelegate.h
Ryan Nystrom 000bc36919 Relicense to MIT
Summary: Relicensing IGListKit under MIT

Reviewed By: calimarkus

Differential Revision: D7764125

fbshipit-source-id: 6c773195ef3184202725fe7f08de754f979cb83f
2018-05-01 14:50:56 -07:00

61 lines
2 KiB
Objective-C

/**
* 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 <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.
*/
NS_SWIFT_NAME(ListScrollDelegate)
@protocol IGListScrollDelegate <NSObject>
/**
Tells the delegate that the section controller was scrolled on screen.
@param listAdapter The list adapter whose collection view was scrolled.
@param sectionController The visible section controller that was scrolled.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter didScrollSectionController:(IGListSectionController *)sectionController;
/**
Tells the delegate that the section controller will be dragged on screen.
@param listAdapter The list adapter whose collection view will drag.
@param sectionController The visible section controller that will drag.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter willBeginDraggingSectionController:(IGListSectionController *)sectionController;
/**
Tells the delegate that the section controller did end dragging on screen.
@param listAdapter The list adapter whose collection view ended dragging.
@param sectionController The visible section controller that ended dragging.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter didEndDraggingSectionController:(IGListSectionController *)sectionController willDecelerate:(BOOL)decelerate;
@optional
/**
Tells the delegate that the section controller did end decelerating on screen.
@param listAdapter The list adapter whose collection view ended decelerating.
@param sectionController The visible section controller that ended decelerating.
@note This method is `@optional` until the next breaking-change release.
*/
- (void)listAdapter:(IGListAdapter *)listAdapter didEndDeceleratingSectionController:(IGListSectionController *)sectionController;
@end
NS_ASSUME_NONNULL_END