46 votes

Evénement UITableView Scroll

Je veux détecter si ma vue de table a été défilée, j'ai essayé tous les événements tactiles comme celui-ci:

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
  {
    [super touchesBegan:touches withEvent:event];
    //my code
  }
 

mais il semble que tous les événements tactiles ne répondent pas au défilement, mais ils ne répondent que lorsque les cellules sont touchées, déplacées, etc.

Existe-t-il un moyen de détecter l'événement de défilement de UITableView?

126voto

fabian789 Points 3689

Si vous implémentez l' UITableViewDelegate protocole, vous pouvez également mettre en œuvre l'une de l' UIScrollViewDelegate méthodes:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

ou

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

Par exemple, si vous avez une propriété appelée tableView:

// ... setting up the table view here ...
self.tableView.delegate = self;
// ...

// Somewhere in your implementation file:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    NSLog(@"Will begin dragging");
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"Did Scroll");
}

C'est parce qu' UITableViewDelegate conforme UIScrollViewDelegate, comme on peut le voir dans la documentation ou dans le fichier d'en-tête.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X