cellForRowAtIndexPath appelée lorsque la cellule de table est cliqué sur pour modifier [fermer]
-
16-09-2019 - |
Question
Quand une table est créée, cellForRowAtIndexPath
est appelé à remplir les cellules. Auparavant, quand on clique sur une cellule à modifier, cellForRowAtIndexPath
n'a pas été appelé, et la cellule aurait du texte tapé dans l'aide:
#pragma mark Text Field Delegate Methods
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
self.textFieldBeingEdited = textField;
}
Maintenant, quand je clique sur les cellules qui sont en dessous de la cellule avec la ligne = 4, qui est l'endroit où le haut du clavier est, cellForRowAtIndexPath
est appelée avec une rangée supérieure au nombre total de lignes provoquant un accident. Lorsque je clique sur les cellules 0 à 4, je peux modifier les cellules et cellForRowAtIndexPath n'est pas appelé. cellForRowAtIndexPath n'a pas été appelé auparavant pour cliquer sur l'une des cellules. J'ai changé quelque chose qui est à l'origine, mais ne peut pas comprendre ce qu'elle est.
Quelqu'un sait ce qui peut causer des cellForRowAtIndexPath à appeler en cliquant sur une cellule pour le modifier? Il semble presque comme il pense une nouvelle table est créée.
La solution 2
Je me suis dit ce que le problème. Je l'avais indiqué plus d'une ligne dans le tableau que réellement existé.
Autres conseils
Si vous avez cette ligne:
[myTable reloadData];
Partout dans le code, il appellera cellForRowAtIndexPath à nouveau.