mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Go into full range mode if a scroll happens
This commit is contained in:
@@ -61,11 +61,16 @@ static UIApplicationState __ApplicationState = UIApplicationStateActive;
|
||||
|
||||
#pragma mark - Core visible node range managment API
|
||||
|
||||
+ (BOOL)isFirstRangeUpdateForRangeMode:(ASLayoutRangeMode)rangeMode
|
||||
{
|
||||
return (rangeMode == ASLayoutRangeModeInvalid);
|
||||
}
|
||||
|
||||
+ (ASLayoutRangeMode)rangeModeForInterfaceState:(ASInterfaceState)interfaceState
|
||||
currentRangeMode:(ASLayoutRangeMode)currentRangeMode
|
||||
{
|
||||
BOOL isVisible = (ASInterfaceStateIncludesVisible(interfaceState));
|
||||
BOOL isFirstRangeUpdate = (currentRangeMode == ASLayoutRangeModeInvalid);
|
||||
BOOL isFirstRangeUpdate = [self isFirstRangeUpdateForRangeMode:currentRangeMode];
|
||||
if (!isVisible || isFirstRangeUpdate) {
|
||||
return ASLayoutRangeModeMinimum;
|
||||
}
|
||||
@@ -94,6 +99,15 @@ static UIApplicationState __ApplicationState = UIApplicationStateActive;
|
||||
[self scheduleRangeUpdate];
|
||||
}
|
||||
|
||||
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
|
||||
{
|
||||
// If a scroll happenes the current range mode needs to go to full
|
||||
BOOL isFirstRangeUpdate = [[self class] isFirstRangeUpdateForRangeMode:_currentRangeMode];
|
||||
if (!isFirstRangeUpdate && _currentRangeMode != ASLayoutRangeModeFull) {
|
||||
[self scheduleRangeUpdate];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)updateCurrentRangeWithMode:(ASLayoutRangeMode)rangeMode
|
||||
{
|
||||
if (_currentRangeMode != rangeMode) {
|
||||
|
||||
Reference in New Issue
Block a user