Détecter le courant de cellule d'en haut dans un UITableView après le défilement
une question simple, mais je ne semble pas avoir le droit de la terminologie à la recherche Stackoverflow par elle.
J'ai un UITableView avec pas de sections, l'utilisateur peut faire défiler une longue liste de données (lignes) a présenté à l'intérieur de ce tableview.
Question: comment puis-je détecter le plus haut de la cellule numéro de ligne après que l'utilisateur a défilé.
(par exemple, si l'utilisateur fait défiler les 30 cellules vers le bas, le haut de la cellule après le défilement est = 30)
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer d'utiliser
UITableView
's-indexPathsForVisibleRows
ou-indexPathForRowAtPoint
.Par exemple, disons que vous voulez imprimer le indexPath de la première cellule visible, lorsque vous arrêtez de glisser votre table. Vous pourriez faire quelque chose comme ceci:
Pour Swift 3.0
tableView scrollToRowAtIndexPath
[self.tableView indexPathsForVisibleRows]
pourrait être vide lorsque l'utilisateur fait défiler la vue de la table avec des rebondissement activé comme un poussin sur la vitesse. Assurez-vous donc de vérifier si la méthode est retourné au moins 1 chemin d'index.Vous obtenez l'indice de chemins d'accès pour les lignes visibles
Puis trier à l'aide de
compare:
Puis obtenir le premier élément de la ligne
UICollectionView
s avecUITableView
sC'est le Swift 3+ code: