2010-05-11 12 views
0

Un UIPicker apparaît lorsque je sélectionne une ligne dans une table, ce qui me permet de choisir les éléments que je souhaite afficher sur la même ligne.Mise à jour de la table après la sélection avec uipicker

Comment puis-je mettre à jour la table une fois que j'ai terminé avec l'uipicker? J'ai utilisé reloadData juste après l'appel au sélecteur, mais le code est exécuté avant de faire "Terminé" sur le sélecteur.

Une idée?

Merci u

+0

essayer de recharger les données sur le bouton "Terminé"? Vous devez fournir plus de détails sur ce que vous faites - comment vous montrez UIPicker, ce que "Fait" est etc ... – Vladimir

+0

Fait est juste le bouton que j'utilise pour confirmer ma sélection dans le uipicker. Le UIPicker est défini dans une classe séparée de la table, et je l'appelle avec [actionSheet showInView: self.view], [actionSheet addSubview: pickerView] ;. – Guille10k

Répondre

1

Utilisez la méthode délégué UIPicker pickerView:didSelectRow:inComponent: et appeler reloadData de votre délégué.

L'objet avec votre action "done" doit être le délégué du UIPicker et implémenter la méthode de délégation ci-dessus. Dans cette méthode de délégué, appelez reloadData. Il sera appelé lorsque le sélecteur est terminé.

+0

Je l'ai vu où le problème est, je pourrais utiliser didSelectRow ou clickedButtonIndex, mais ce que j'ai besoin est comment appeler la reloadData à partir de là, comme UIPicker est définie dans une classe différente de la table. merci – Guille10k

+0

Relisez - avec éditer pour rendre plus clair. –

+0

Peut-être la meilleure question serait: Comment puis-je appeler reloadData de ma classe UIPicker? (qui est en dehors du contrôleur tableview que je veux mettre à jour). La manière la plus simple est de rejoindre les deux classes. – Guille10k