2016-07-21 8 views
1

Ich habe ein UITextField, dessen Benutzer sein Gepäckgewicht als Zahlen in TextField setzt. Ich möchte diesen Textfields Wert mit Gewichtsmarkierung setzen (für ex 10 KG, die von Benutzereinstellungen kommt), also was auch immer Benutzertypen, es wird KG Markierung am Ende von seinem Textfeld sein. Gibt es einen Weg dafür?UITextField mit Benutzertext + statische Markierung

+1

Dies wird für den Benutzer verwirrend sein, den Text bei jeder Eingabe zu aktualisieren. Ich schlage vor, den Platzhalter von textField auf KG zu setzen. Auch wenn der Text des Textfelds aktualisiert wird, wird es schwer lesbar. – penatheboss

Antwort

1

tun wie

zunächst den Wert löschen, wenn

func textFieldShouldBeginEditing(textField: UITextField) { 
textField.text = "" 
} 

starten beginnen, wenn sie über die Bearbeitung wird hängen Sie die kg

func textFieldDidEndEditing(textField: UITextField) { 
yourTextfieldName.text = "\(textField.text!) KG" 
} 

Wahl-2

func textFieldDidEndEditing(textField: UITextField) 
{ 
if !textField.text!.rangeOfString("KG").location != NSNotFound { 
self.textField.text = textField.text!.stringByAppendingString("KG") 
} 
} 
+0

Ich bin nicht familier mit swift, aber wir können auf diese Weise tun –

+0

sonst folgen @reaper Antwort, es auch gute Idee –

+0

Dies ist, was ich gesucht habe. Vielen Dank. –

0

Sie könnten ein "Label" neben dem UITextField platzieren.

Und dann ändern Sie einfach den Text des Labels, was auch immer der Benutzer auswählt.

ODER (aber ich weiß nicht, ob das funktioniert), versuchen Sie, den Text aus dem Textfeld zu bekommen, fügen Sie die Einheit (als String) zu der Zeichenfolge aus dem Textfeld.

+0

Ich habe es versucht, aber wegen des blöden Designs konnte ich es nicht schaffen. Wenn es keine Möglichkeit gibt, es zu tun, muss ich ein Etikett wie gesagt setzen. Ich suche nur nach einem besseren programmatischen Weg. Danke für den Rat. –

+0

Bearbeiten Sie den Beitrag über – Reaper