Ersetzen Sie die iOS7-Tastatur in TableViewController durch eine Datumsauswahl

7

Ich möchte, dass mein Textfeld "DateText" einen DatePicker (Jahr - Monat - Tag) mit dieser Art von Wert öffnet:

%Vor%

Gibt es eine einfache Möglichkeit, die Tastatur zu wechseln?

    
KevLaBoomQc 22.04.2014, 01:26
quelle

3 Antworten

32

Sie können die Tastatur mithilfe der Eigenschaft inputView des UITextField ersetzen:

%Vor%

UIDatePickers haben keinen Delegaten wie UIPickerViews, deshalb muss eine Aktion hinzugefügt werden, als ob es eine UIButton wäre. Das : am Ende der Selektor-Deklaration stellt den UIDatePicker als eine Erleichterung bereit, um das Datum zu erhalten, an dem es geändert wurde. Wenn Sie kein Objekt in der Methode senden möchten, können Sie den UIDatePicker abrufen, indem Sie auf die Eingabeansicht des UITextField verweisen:

%Vor%

Schließlich ist es beim Festlegen von Formaten mit NSDateFormatter empfehlenswert, eine Methode zum Zurückgeben eines NSDateFormatter-Objekts zu erstellen, um sicherzustellen, dass das Format konsistent ist. Erstellen Sie mindestens einmal in Ihrem Projekt eine Konstante / Makro, die die Formatzeichenfolge deklariert.

BEARBEITEN

Wie von Pavan im Kommentarthread gefragt, wenn Sie über ihre Tastatur eine Fertig-Schaltfläche hinzufügen möchten, verwenden Sie die EingabeAccessoryView:

%Vor%

EDIT 2, SWIFT

Scheint so, als ob diese Antwort ziemlich veraltet ist. Hinzufügen der Implementierung mit Swift 3:

%Vor%

Sie können den UIDatePicker auch erhalten, indem Sie in UITextField inputView werfen:

%Vor%     
Chris 22.04.2014, 04:00
quelle
0

Swift 2.0

Ich fand Chris Antwort oben hilfreich, aber brauchte es in Swift.

%Vor%     
Amelia 25.04.2016 00:40
quelle
-1

Aktivieren Sie UIDatePicker mit der Aktion Bearbeiten wurde begonnen, während Sie eine TextFeld-Aktion erstellen.

%Vor%     
Ramdy 22.04.2014 04:46
quelle

Tags und Links