mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
* Tidy the header imports, forward declaring classes and protocols where appropriate to avoid import cycles and using the framework/system header notation for imports occuring in .h files.
* Perhaps controversially, decomposing ASRangeControllerUpdateRangeProtocol+Beta.h such that the categories on various classes are defined in the classes themselves since that's where the implementation of those categories is provided. * Updating unit tests and import other headers the tests took for granted. The tests could probably import the umbrella header and not have to worry about this. * Updating the "Life without Cocoapods" sample to build and run dependent on ASDK as a static library. * Added a "Life With Frameworks" sample app to build and run dependent on ASDK as a framework, proving the framework targets work.
This commit is contained in:
@@ -9,11 +9,11 @@
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <AsyncDisplayKit/ASCellNode.h>
|
||||
#import <AsyncDisplayKit/ASDisplayNode.h>
|
||||
#import <AsyncDisplayKit/ASDataController.h>
|
||||
#import <AsyncDisplayKit/ASLayoutController.h>
|
||||
#import <AsyncDisplayKit/ASLayoutRangeType.h>
|
||||
#import <AsyncDisplayKit/ASRangeControllerUpdateRangeProtocol+Beta.h>
|
||||
|
||||
#define ASRangeControllerLoggingEnabled 0
|
||||
|
||||
@@ -203,4 +203,23 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@end
|
||||
|
||||
@interface ASRangeController (ASRangeControllerUpdateRangeProtocol) <ASRangeControllerUpdateRangeProtocol>
|
||||
|
||||
/**
|
||||
* Update the range mode for a range controller to a explicitly set mode until the node that contains the range
|
||||
* controller becomes visible again
|
||||
*
|
||||
* Logic for the automatic range mode:
|
||||
* 1. If there are no visible node paths available nothing is to be done and no range update will happen
|
||||
* 2. The initial range update if the range controller is visible always will be ASLayoutRangeModeCount
|
||||
* (ASLayoutRangeModeMinimum) as it's the initial fetch
|
||||
* 3. The range mode set explicitly via updateCurrentRangeWithMode: will last at least one range update. After that it
|
||||
the range controller will use the explicit set range mode until it becomes visible and a new range update was
|
||||
triggered or a new range mode via updateCurrentRangeWithMode: is set
|
||||
* 4. If range mode is not explicitly set the range mode is variying based if the range controller is visible or not
|
||||
*/
|
||||
- (void)updateCurrentRangeWithMode:(ASLayoutRangeMode)rangeMode;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
Reference in New Issue
Block a user