Zwei UIPickerView in einem ViewController

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zwei UIPickerView in einem ViewController

    Hallo iOS Entwickler,

    ich habe zwei UIPickerviews in einen ViewController gepackt.
    Der ViewController dient für beide als Delegate und DataSource.

    Wie kann ich im Code diese beiden ViewController unterscheiden.
    Eigentlich dürfen die beiden gar nicht die gleiche DataSource haben.
  • Bei allen DataSource und Delegate Methoden eines UIPickerViews wird auch die Referenz auf den entsprechende PickerView übergeben, welcher die gewünschten Daten etc. benötigt.

    In den Methoden kannst Du dann z.B. per if Statement abfragen, für welchen PickerView die Methode die gewünschten Daten, etc. zurück liefern soll.
  • Für den Fall, das man keine Outlets für die Picker definieren will, kann man auch verschiedene Tags vergeben und diese abfragen.
    Das wäre quasi die Vergabe eines "Namens" nach dem du gefragt hast.

    Um das Ganze besser lesbar zu machen evtl. die Picker Tags in einem enum festlegen.

    Quellcode

    1. enum myPickers {
    2. VyaxColorPicker = 0,
    3. VyaxNamePicker = 1
    4. };


    Dann kann man in der Datasource unterscheiden mit

    Quellcode

    1. switch (pickerview.tag) {
    2. case VyaxColorPicker :
    3. //Your code here
    4. break;
    5. case VyaxNamePicker :
    6. //Your code here
    7. break;
    8. }