Как обнаружить, когда UIScrollView закончил прокручивать

В своем файле .csproj добавьте свою зависимость как PackageReference в ItemGroup, затем запустите dotnet restore или nuget restore. Пример:


  
  
  
  
  
  
    2.3.1
  

Взгляните на эту статью для полного объяснения.

140
задан TheNeil 16 May 2019 в 15:00
поделиться

3 ответа

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    [self stoppedScrolling];
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    if (!decelerate) {
        [self stoppedScrolling];
    }
}

- (void)stoppedScrolling {
    // ...
}
148
ответ дан 4 November 2019 в 09:09
поделиться

Думаю, вам нужен scrollViewDidEndDecelerating. Его необязательный метод UIScrollViewDelegates:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

Сообщает делегату, что просмотр прокрутки закончился, замедляя движение прокрутки.

Документация UIScrollViewDelegate

21
ответ дан 4 November 2019 в 09:09
поделиться

Реализации 320 намного лучше - вот патч для согласованного начала / окончания прокрутки.

-(void)scrollViewDidScroll:(UIScrollView *)sender 
{   
[NSObject cancelPreviousPerformRequestsWithTarget:self];
    //ensure that the end of scroll is fired.
    [self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:sender afterDelay:0.3]; 

...
}

-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
    [NSObject cancelPreviousPerformRequestsWithTarget:self];
...
}
170
ответ дан 4 November 2019 в 09:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: