2017-06-26 6 views
0

Ich habe ein Textfeld in einem Formular, in dem sich der Wert basierend auf dem Schieberegler ändert. Ich versuche, die Funktionalität zu aktualisieren, so dass, wenn der Benutzer einen Wert in das Textfeld eingibt, der Schieberegler an die richtige Position bewegt wird. Mein UISlider wird ein Wert zwischen 0 und 3UISlider zum Anpassen an UITextField Wert

Ich habe diesen Beitrag zu nutzen versucht, um mir zu helfen, aber ich habe es nicht geschafft, an die Arbeit: How to set value of UISlider from a UITextField

Cheers,

Ich möchte, dass der Benutzer den Slider oder die Tastatur verwenden kann, um den Preisnachlass einzugeben - aber wenn sie einen Wert eingeben, möchte ich, dass der Slider an die richtige Stelle bewegt wird. Mit dem Code stürzt die App ab. Ich denke, es liegt an widersprüchlichem Code. Ich habe den Sider als Outlet verlinkt. Ist das richtig?

+0

sendet er mir in die Klasse AppDelegate. Ich habe nach Phantomausgängen gesucht und sehe keine Probleme. –

Antwort

1

Scheitern Sie, weil yoru Link eine Objective-C-Version ist? Also hier ist das schnelle Äquivalent. Zuerst wird ein Listener auf dem Textfeld wie dieses

textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged) 

Dann in Ihrem Textfeld Textänderungsfunktion, Sollwert für Ihren Schieber hinzufügen

func textFieldDidChange(textField: UITextField) { 
    if let stringValue = textField.text{ 
     if let intValue = Int(stringValue){ 
      slider.setValue(intValue, animated: true) 
     } 
    } 

} 
+0

Danke, hier ist mein Bearbeitungscode für Teil 1 orgDiscount.addTarget (self, action: Selector (("textFieldDidChange:")), für: UIControlEvents.editingChanged). Dies wird gespeichert unter - view did load. Das func hat sich geändert in: func textFieldDidChange (textField: UITextField) { wenn let stringValue = orgDiscount.text { wenn let intValue = Int (stringValue) { slider.setValue (Gleitkomma (Double (intValue)), animiert: true) } } }. Gespeicherte Außenansicht hat geladen. Ich habe einen Schieberegler erstellt. Slider genannt. Seine Einlösung meiner App –

+0

@KevinProctor Ok. Welche Fehlermeldung erhalten Sie in welcher Zeile? –

+0

Es bringt mich zurück zu AppDelegate und gibt einen Fehler - Thread 1: Singal SIGABRT. Es stoppt in der ersten Zeile der Klasse –