2010-06-19 10 views
3

J'ai du mal à saisir le concept de uipickerviews de plusieurs composants. Je voudrais vraiment avoir ce sujet. Je voudrais faire une sélection de 4 composants avec des composants qui dépendent l'un de l'autre.En ce qui concerne la mise en œuvre de UIPickerView dépendant de plusieurs composants

Le premier composant est en cours de remplissage d'un tableau de mon db, et qui est bien apparaître. J'ai toutes les autres informations disponibles dans les tableaux, mais je suis juste accroché sur l'aspect dépendant de ma sélection. Je pense que la meilleure façon de faire dépendre les données du composant 2 sur comp 1 est de les lier d'une manière ou d'une autre dans la section didSelectRow. Mais je ne connais pas la syntaxe.

Je travaille dans ce domaine depuis des heures maintenant et je me sens comme si je suis vraiment proche, mais j'ai juste besoin d'aide avec quelques problèmes. Quelle est la syntaxe pour connecter des composants afin qu'ils dépendent les uns des autres? Quelque chose comme ça? (Ce qui est terrible, je sais, mais je pense qui est la direction que je dois obtenir):

if(picker = pickerComponent1) 
    //set number of rows for comp2 and also the content etc... 

Une autre question est de déterminer le bit numberOfRowsInComponent parce qu'ils ne sont pas dans la même méthode ...

Si quelqu'un connaît (ou veut donner :) un tutoriel sur ce sujet, ce serait très utile! Ou si vous connaissez bien le sujet et que vous aimeriez partager ce que vous savez, ce serait parfait aussi. J'aimerais vraiment voir cette tâche apparemment simple terminée.

+0

départ http://stackoverflow.com/questions/5311552/dependent-uipickerview/6946301#6946301 post, je propose une solution à ce problème, les travaux d'espoir pour vous aussi! – Wytchkraft

Répondre

3

C'est assez simple. Dans la méthode pickerView:didSelectRow:inComponent:, appelez simplement [myPicker reloadComponent:] pour tous les composants venant après celui où la sélection a été modifiée. Le sélecteur demandera alors automatiquement à sa source de données (votre contrôleur de vue, vraisemblablement) le nombre de lignes et les valeurs des lignes.

Ensuite, dans pickerView:numberOfRowsInComponent: et pickerView:titleForRow:forComponent:, renvoyez les valeurs appropriées (le nombre et le contenu du tableau correspondant) en fonction des valeurs des lignes sélectionnées des composants parents.

+0

Il semble vraiment assez simple dans le concept, mais je suis juste en train de tourner mes roues en essayant d'obtenir cette configuration. Comment renvoyer dynamiquement les valeurs appropriées en fonction des valeurs des lignes sélectionnées des composants parents? Je me heurte à un poulet avant la ponte, et je ne peux tout simplement pas comprendre. Si vous pouviez approfondir ce concept, ce serait apprécié !!!!! – Jeff