J'ai une table avec deux sections. Un contrôle segmenté dans les premières sections change les lignes affichées dans la deuxième section. Mon problème est que l'ordre des rangées et de quelle rangée sont affichées dans la deuxième section se décale incorrectement à chaque pression suivante d'un bouton dans le contrôle segmenté.iPhone: modifications de commande de cellule dans la section UITableView après appel à reloadSections: méthode
J'autorise un utilisateur à ajouter un produit à une liste d'achats de trois façons différentes: par nom, par code barre et en prenant une photo avec un appareil photo. J'ai 3 boutons dans un UISegmentedControl
afin que les utilisateurs puissent choisir la méthode à utiliser. Selon le segment sélectionné par l'utilisateur, les champs du deuxième segment doivent être modifiés pour afficher les cellules pertinentes pour cette méthode.
Section 0:
0 row with segmented control showing name, barcode and camera buttons
Section 1:
// button zero, name button
0 row with textfield
1 row with textfield
or
// button 1, barcode button
0 row with textfield
or
// button 2, camera button
// shows camera view
J'ai placé des espaces réservés dans chaque UITextField.
Chaque fois que l'on clique sur un bouton dans le contrôle segmenté, j'appelle une méthode pickOne:
qui met à jour le tablevew. Dans cette méthode, je construis un NSIndexSet avec NSRange de (1, 1), puis j'appelle la méthode reloadSections:
du UITableViewController avec le NSIndexSet en tant que paramètre.
Lorsque la vue apparaît pour la première fois, tout va bien mais quand je clique plusieurs fois sur les boutons, l'ordre des cellules change. Les cellules contenant les deux textFields pour le button0 et les nouveaux lieuxHolders sont écrites sur les anciennes. Pire, parfois quand je clique sur le bouton 0, il ne me montre que la deuxième cellule des deux cellules.
Mon code détaillé peut être vu ici http://pastebin.com/9GwMpCS9
Vous allez devoir montrer du code. Rappelez-vous, peu importe la description détaillée que vous donnez, vous pouvez gagner du temps en affichant le code approprié. – Jasarien