Comment obtenir indexPath.ligne de tableView qui est actuellement à l'affiche?
J'ai un tableView avec beaucoup de valeurs.
Je veux obtenir le premier indexPath.row
valeur de la table qui est affiché actuellement.
Comment puis-je le faire?
- Je obtenir de l'Erreur Suivante lors de la mise en œuvre de krishnabhadra réponse:
Ligne à laquelle l'erreur vient est:
[self.table scrollToRowAtIndexPath:indexVis atScrollPosition:UITableViewScrollPositionTop animated:YES];
ERREUR:
Assertion failure in -[NSIndexPath row], /SourceCache/UIKit_Sim/UIKit-1447.6.4/UITableViewSupport.m:2018
2011-04-01 11:57:25.458 GlossaryPro[1525:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid index path for use with UITableView. Index paths passed to table view must contain exactly two indices specifying the section and row. Please use the category on NSIndexPath in UITableView.h if possible.'
Ce qui pourrait être mauvais?
actuellement affichée ou sélectionnée par l'utilisateur?
J'ai demandé, à moins que votre cellule est tellement grand, de sorte qu'il couvre la totalité de l'écran, plus les cellules sont affichés
actuellement à l'affiche.
Pas de la taille des cellules peut être petit ou il peut être de grande taille, basé sur la quantité de données
Qu'est-ce que indexVis dere?
J'ai demandé, à moins que votre cellule est tellement grand, de sorte qu'il couvre la totalité de l'écran, plus les cellules sont affichés
actuellement à l'affiche.
Pas de la taille des cellules peut être petit ou il peut être de grande taille, basé sur la quantité de données
Qu'est-ce que indexVis dere?
OriginalL'auteur Parth Bhatt | 2011-04-01
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser tableView
indexPathsForVisibleRows
fonction qui retourne unNSArray
deNSIndexPath
pour tous visiblesUITableViewCell
. DeindexPath.row
vous pouvez trouver votre index de tableau.indexPath.row
vous donnera l'indice du premier objet affiché.Où dois-je écrire ce code? Sur
cellForRowAtIndexPath
méthode?vous pouvez appeler à partir de n'importe où..Appel à l'endroit où vous souhaitez que la liste de cellules visibles..
J'faites défiler jusqu'à une certaine position, et puis de passer à un autre onglet dans mon tabbar et puis retour sur la même tableView de nouveau, alors je veux que la tableView doit afficher les mêmes cellules qu'Il affiche avant la commutation. Donc, dans ce cas, où dois-je écrire le code?
dans le viewWillDisappear du code d'écrire le code ci-dessus pour obtenir le indexpath visible de la matrice...Puis dans le viewWillAppear utilisation scrollToRowAtIndexPath fonction de votre tableView pour faire défiler jusqu'à la indexpath vous avez enregistré dans la pile avant..Espérons que cette aide
OriginalL'auteur Krishnabhadra
Espère que cela va vous aider.
OriginalL'auteur Adarsh V C
vous pouvez utiliser indexPathsForVisibleRows
Retourne un tableau de l'indice de chemins de chaque identification d'une ligne visible dans le récepteur.
Valeur De Retour
Un tableau de NSIndexPath objets, chacun représentant un index de ligne et la section de l'index qui, ensemble, identifier une ligne visible dans la vue de table. Renvoie zéro si aucune ligne n'est visible.
OriginalL'auteur Anand
Vous pouvez utiliser:
[self.tableView visibleCells]
Qui retournera un nsarray de UITableViewCell objets, chacun représentant une cellule visible dans la vue tableau.
http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableView_Class/Reference/Reference.html
OriginalL'auteur j_freyre