UIViewController
には3 UITextField
があります。いずれかのフィールドにフォーカスが移るたびに、上記のヒントラベルの新しいテキスト値を設定します。 RxSwift
でこれを達成する最良の方法は何ですか?RxSwift:テキストフィールドがフォーカスを取得したときのモデル状態をアップグレードします
4
A
答えて
8
これはあなたが探しているものです。 UITextField
はtextFieldDidBeginEditing:
デリゲートメッセージを送信するたびに、その代わりにObservable
を取得します。次に、そのテキストフィールドの正しい文字列にそのObservable
をマッピングします。その後、Observableの3つすべてを1つにまとめます。最新のイベントは、最後にそのデリゲートメッセージを呼び出したテキストフィールドからのものです。次に、その値をツールチップのテキストにバインドします。
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
ありがとう、@solidcell!それはまさに私が探していたものです! – alexxjk
関連する問題
- 1. Excelがフォーカスを取得したときのマクロまたはイベント
- 2. 状態の取得選択した国の状態のリスト
- 3. リクエストを介した状態の取得と永続化
- 4. デバイスがスリープ状態になった後にANRを取得しました(Android)
- 5. Android:フォーカスされた状態で押した状態のドロアブルを使用してImageButtonを描画する方法
- 6. ウィンドウがフォーカスされていない状態でキーボードイベントを取得する
- 7. LinearLayoutは子のフォーカスを変更セレクタの状態にします
- 8. モデルの状態が無効
- 9. RxSwiftでアプリケーションの状態を処理する方法
- 10. カスタムUITableViewCellのUISwitchの状態を取得します。
- 11. Androidの前の状態を取得しますか?
- 12. mysqlは特定の日付に状態を取得します
- 13. の保存フォーカス状態
- 14. ホバー、アクティブ、フォーカス状態は値を継承しますか?
- 15. EditTextがフォーカスを取得したときにCollapsingToolbarLayoutが崩壊しない
- 16. MessageBoxがフォーカスを取得しません
- 17. 休止状態でセッションファクトリを取得することができません
- 18. オブジェクト状態の取得
- 19. Androidのウェブビューのズームバックの問題、ユーザーがテキストフィールドからフォーカスを外したとき
- 20. VLCリモートコントロールインターフェイスプレーヤーの状態を取得する
- 21. コール状態と混同しました
- 22. CAKeyframeAnimationは、別のCAKeyframeAnimationが起動しているときに、別のCAKeyframeAnimationが起動したときに現在の状態を取得しますか?
- 23. jquery - イメージがフォーカスを取得したときにクリックイベントをトリガーする
- 24. JQuery ...フォーカスのホバー状態を変更し、キーボードナビゲーションタブエリアを制限します
- 25. ラジオボタンの状態を取得できません
- 26. 要素外の子がフォーカスを取得したときの検出
- 27. クリックしたときにComboBoxが状態を失う
- 28. JavaFXでCapsLock状態を取得する
- 29. XMLHttpRequest状態を取得するJquery ajax
- 30. Androidでキャップロック状態を取得する
明確にするために、フォーカスを受け取ったフィールドは問題ではありませんか? – solidcell