Ich habe eine UIViewController
mit 3 UITextField
s. Jedes Mal, wenn eines der Felder den Fokus erhält, möchte ich einen neuen Textwert für eine obere Beschriftung festlegen. Was ist der beste Weg, dies mit RxSwift
zu erreichen?RxSwift: Upgrade-Modell-Status, wenn Textfeld wird Fokus
4
A
Antwort
8
Dies macht, was Sie suchen. Jedes Mal, wenn eine UITextField
eine textFieldDidBeginEditing:
Delegiertenmitteilung sendet, erhalten Sie stattdessen eine Observable
dafür. Dann ordnen Sie das Observable
in der richtigen Zeichenfolge für das Textfeld zu. Kombinieren Sie dann alle drei dieser Observablen in nur einer, wobei das letzte Ereignis aus dem Textfeld stammt, das zuletzt diese Delegatennachricht aufgerufen hat. Dann binden Sie diesen Wert an den Text des Tooltips.
import UIKit
import RxSwift
import RxCocoa
class ViewController: UIViewController {
let disposeBag = DisposeBag()
@IBOutlet weak var tooltip: UILabel!
@IBOutlet weak var textField1: UITextField!
@IBOutlet weak var textField2: UITextField!
@IBOutlet weak var textField3: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let textField1Text = textField1.rx_controlEvent(.EditingDidBegin)
.map { "text field 1 message" }
let textField2Text = textField2.rx_controlEvent(.EditingDidBegin)
.map { "text field 2 message" }
let textField3Text = textField3.rx_controlEvent(.EditingDidBegin)
.map { "text field 3 message" }
Observable.of(textField1Text, textField2Text, textField3Text).merge()
.bindTo(tooltip.rx_text)
.addDisposableTo(disposeBag)
}
}
+1
danke, @solidcell! Genau das habe ich gesucht! – alexxjk
Verwandte Themen
- 1. Feuerereignis auf Textfeld verlieren Fokus
- 2. RxSwift - UILabel Feld wird nicht aktualisiert, wenn UITextField programmgesteuert aktualisiert wird
- 3. Javascript De-Fokus Textfeld Eingabe
- 4. Textfeld Fokus springt auf über Dropdown-Liste, wenn in
- 5. Cursor Fokus auf Textfeld in WPF/C#
- 6. Markieren Sie Textfeld in Formularen, wenn Maus ausgewählt/Fokus auf Textfeld VB.NET
- 7. Wie wird ein Fokus auf ein Textfeld zurückgesetzt, wenn der Fokus auf einem HTML-Formular verloren geht?
- 8. Tabindex wird nicht gesetzt, wenn Textbox den Fokus hat
- 9. LibGDX: Text von Textfeld auf Fokus ändern
- 10. Java - ein Textfeld nicht den Fokus verlieren
- 11. Wie ein Ereignis ausgelöst wird, wenn ein Textfeld den Fokus in Nsis verliert
- 12. Wie legen Sie den Fokus automatisch auf ein Textfeld fest, wenn eine Webseite geladen wird?
- 13. Erkennen von UISearchBar Fokus auf das Textfeld
- 14. Textfeld Fokus in Phonegap funktioniert nicht
- 15. jQuery UI Dialog und Textfeld Fokus Issue
- 16. Fokus geht auf übergeordnete Raster statt Textfeld
- 17. Problem mit Textfeld Fokus in WPF
- 18. Kann Fokus() nicht auf ein Textfeld setzen
- 19. Verwirrung über flatMapLatest in RxSwift
- 20. Android Tastatur wird nicht angezeigt, wenn Eingabe Textfeld gedrückt wird
- 21. RxSwift Unit Testing
- 22. jasper Textfeld wird abgeschnitten
- 23. In Javascript Einstellung ein Textfeld mit Fokus() funktioniert nicht, wenn als Kind-Fenster aufgerufen
- 24. Zwei-Wege-Bindung in RxSwift
- 25. RxSwift beobachtbare Array Sortierung
- 26. Links erhalten nicht den Fokus, wenn auf Chrome geklickt wird
- 27. Blur-Ereignis ausgelöst wird, wenn Kind den Fokus erhält
- 28. ng-blur wird nicht ausgelöst, wenn ich den Fokus verliere
- 29. Hintergrundfarbe für Option beibehalten, wenn Fokus geändert wird
- 30. CEdit wählt alles aus, wenn Fokus erhalten wird
Um zu klären, ist es egal, welches Feld den Fokus erhalten hat? – solidcell