mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
[ASRangeController] Initial implementation of functional-style, ASInterfaceState-based range controller.
This commit is contained in:
@@ -26,6 +26,11 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
* This includes cancelling those asynchronous operations as cells fall outside of the working ranges.
|
||||
*/
|
||||
@interface ASRangeController : ASDealloc2MainObject <ASDataControllerDelegate>
|
||||
{
|
||||
id<ASLayoutController> _layoutController;
|
||||
__weak id<ASRangeControllerDataSource> _dataSource;
|
||||
__weak id<ASRangeControllerDelegate> _delegate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify the range controller that the visible range has been updated.
|
||||
@@ -46,6 +51,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
*/
|
||||
- (void)configureContentView:(UIView *)contentView forCellNode:(ASCellNode *)node;
|
||||
|
||||
- (void)setTuningParameters:(ASRangeTuningParameters)tuningParameters forRangeType:(ASLayoutRangeType)rangeType;
|
||||
- (ASRangeTuningParameters)tuningParametersForRangeType:(ASLayoutRangeType)rangeType;
|
||||
|
||||
/**
|
||||
* An object that describes the layout behavior of the ranged component (table view, collection view, etc.)
|
||||
*
|
||||
@@ -66,6 +74,12 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@end
|
||||
|
||||
@interface ASRangeControllerStable : ASRangeController
|
||||
@end
|
||||
|
||||
@interface ASRangeControllerBeta : ASRangeController
|
||||
@end
|
||||
|
||||
/**
|
||||
* Data source for ASRangeController.
|
||||
*
|
||||
@@ -88,15 +102,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
*/
|
||||
- (CGSize)viewportSizeForRangeController:(ASRangeController *)rangeController;
|
||||
|
||||
/**
|
||||
* Fetch nodes at specific index paths.
|
||||
*
|
||||
* @param rangeController Sender.
|
||||
*
|
||||
* @param indexPaths Index paths.
|
||||
*/
|
||||
- (NSArray *)rangeController:(ASRangeController *)rangeController nodesAtIndexPaths:(NSArray *)indexPaths;
|
||||
|
||||
- (ASDisplayNode *)rangeController:(ASRangeController *)rangeController nodeAtIndexPath:(NSIndexPath *)indexPath;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user