Textfeld deaktivieren bei Auswahl

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

  • Textfeld deaktivieren bei Auswahl

    Hallo zusammen,

    ich bin neu hier und einsteiger in iOS und swift! hab mich auch schon durch ein buch (swift 2 vom rheinwerk) gelesen.
    nun meine frage: ich hab ein PickerView und 7 textfelder zur eingabe es werden aber immer nur 3 bzw 4 benötigt je nach auswahl im Picker. Die anderen sollen dann grau gemacht werden bzw deaktiviert ist das so möglich oder kann ich mir das gleich mal aus dem kopf schlagen.

    im picker ist zum bsp. feld 1-5-6 ausgewählt und dann sollen die felder 2-3-4 und 7 nicht benutzt werden.

    danke schonmal für eure hilfe!!!

    lg matze
  • danke erstmal für die schnelle antwort!
    aber stackview fällt aus weil wenn ich das richtig gelesen hab in meinem buch (swift 2) ist das erst ab iOS 9 und nicht mehr für 8 möglich.
    mein problem ist der ansatz, denn man schreibt ja eigendlich nur den inhalt in den picker und der wird dann in einem textfeld wiedergegeben. zumindest hab ich bei meiner recherche im buch und inet nichts anderes gefunden :( , wie gesagt bin einsteiger in swift
  • Der Picker verwendet für die einzelnen Zellen Zahlen (Komponrnte / Zeile). Du kannst diese Zahlen für die ausgewählten Zeilen jederzeit abfragen: developer.apple.com/library/io…w/selectedRowInComponent:
    Außerdem sagt dir das Delegate, wann die Auswahl geändert wurde: developer.apple.com/library/io…didSelectRow:inComponent:
    Du musst darin nur noch entscheiden, welche Textfelder du anzeigen willst und welche nicht.
    „Meine Komplikation hatte eine Komplikation.“
  • und das dunkel geht leider nicht zu ende, bei dem textfeld und bgcolor meckert xcode nicht mehr aber ich bekomme die rückgabe des pickerviews nich gebacken. das textfeld bleibt nach wie vor aktiv.

    mein bistheriger code dazu:

    Quellcode

    1. func pickerView(myPicker pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    2. row; 1
    3. grdmaß.enabled = false
    4. grdmaß.layer.backgroundColor = UIColor.lightGrayColor().CGColor
    5. }
    und ich hab nochmal das buch und die apple seiten gewälzt aber ohne erfolg
    könnte mir bitte nochmal einer auf die sprünge helfen und kann man das dann für mehrere textfelder zusammenfassen, wird ja sonst ewig lang?

    Gruß Matze
  • problem gelöst :D
    ich hatte die func leider doppelt drin und hab nun das was ich wollte dort mit unter gebracht

    nur fals das ergebnis interressiert hier der codesnipsel:

    Quellcode

    1. func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    2. myLabel.text = pickerDataSource[row]
    3. if(row == 0)
    4. {
    5. grdmaß.enabled = false
    6. grdmaß.backgroundColor = UIColor.lightGrayColor();
    7. frsthö.enabled = true
    8. frsthö.backgroundColor = UIColor.whiteColor();
    9. }
    10. else if(row == 1)
    11. {
    12. frsthö.enabled = false
    13. frsthö.backgroundColor = UIColor.lightGrayColor();
    14. grdmaß.enabled = true
    15. grdmaß.backgroundColor = UIColor.whiteColor(); }
    16. }
    Alles anzeigen