UIPickerView wählt die erste Zeile programmgesteuert aus

9

Es gibt viele Fragen wie diese, aber ich glaube mein Fall ist einzigartig.

Ich habe eine Auswahlliste, die angezeigt wird, wenn auf eine Textbox geklickt wird. Der Benutzer wählt seinen Standort in der Auswahlansicht aus, und er wird in das Textfeld eingefügt.

Beim Öffnen des Picker Views befindet sich der Schieberegler auf dem ersten Element, aber wenn ich auf die done-Schaltfläche klicke, um den PickerView zu minimieren, wird kein Element ausgewählt (dh Sie müssen nach unten scrollen und zurückgehen, um das erste Element auszuwählen)

Ich habe es versucht

%Vor%

und verschiedene Kombinationen davon, aber es setzt den Schieberegler nur auf dieses Element und wählt es auch nicht wirklich aus.

Einige Antworten besagten, den obigen Code in der viewDidLoad () Methode anzuwenden, aber leider ziehe ich das Standort-Array aus einem Web-Service und kann das nicht tun.

Idealerweise würde ich gern so arbeiten: Der Benutzer klickt in das Textfeld, die Auswahl erscheint wie gewohnt, wenn an dieser Stelle auf die Schaltfläche Fertig geklickt wird, wird das erste Element ausgewählt.

Vielen Dank im Voraus

    
Jonesopolis 30.01.2013, 13:28
quelle

5 Antworten

4

Hier ist etwas, was Sie ausprobieren können:

Setze eine Var in deinem @interface , etwas wie NSString *selectedString; .

Wenn Sie Ihren UIPickerView (in pickerView:titleForRow:forComponent: ) initialisieren, setzen Sie selectedString mit der gleichen Zeichenfolge wie der Titel der Zeile # 0, wenn Sie den Titel für die Zeile 0 festlegen. Setzen Sie dann in pickerView:didSelectRow:inComponent: selectedString mit der entsprechenden Zeichenfolge:

%Vor%

Wenn Sie dann die Methode aufrufen, die durch Drücken der Schaltfläche "done" ausgelöst wurde, verwenden Sie selectedString , um den Text festzulegen.

Hoffe, das funktioniert für Sie!

    
rdurand 30.01.2013, 13:42
quelle
4

Ich hatte ein ähnliches Problem. Meine Lösung war dies:

%Vor%     
gUIDo 04.12.2014 15:35
quelle
4

Schnell 3 +

%Vor%     
Dasoga 03.10.2016 18:51
quelle
3
%Vor%     
nithinreddy 03.02.2015 11:55
quelle
0

/ Erzeuge eine IBACTION für das Textfeld mit der Bearbeitung des Events und die Funktion sollte prüfen, ob das Feld leer ist /

%Vor%     
Andres Ortiz 21.11.2014 20:41
quelle

Tags und Links