1
私はUITextField
を持っており、フォーカスするたびにアクションを実行したいと考えています。 RxSwiftが管理できるものなのでしょうか、それとも古い方法でそうする必要がありますか?RxSwift - テキストフィールドにフォーカスが当てられているかどうかを確認する
私はUITextField
を持っており、フォーカスするたびにアクションを実行したいと考えています。 RxSwiftが管理できるものなのでしょうか、それとも古い方法でそうする必要がありますか?RxSwift - テキストフィールドにフォーカスが当てられているかどうかを確認する
調査した後、私はを見て、それを通して動作させました。
は私のコードをして判明:
まったく反応性を生成しませんでしたtxtDate
.rx
.controlEvent(UIControlEvents.touchUpInside)
.map{ true }
.bind(to: txtDateHasFocused).disposed(by: disposeBag)
。残念ながら私は理由を知らない。 UITextField
がフォーカスされている(または編集されている)かどうかを確認するための正しい方法は次のとおりです。
txtDate
.rx
.controlEvent(UIControlEvents.editingDidBegin) // Here is the key
.map{ true }
.bind(to: txtDateHasFocused).disposed(by: disposeBag)
は再び、私はなぜ知らない、私が使っていたUIControlEvent
が間違っていたことが判明します。たぶんiOSのレスポンダーに関連しているかもしれません。 「なぜ.touchUpInsideがこの場合にイベントをトリガーしないのか」についての説明は素晴らしいでしょう。
'textField.rx.controlEvent(UIControlEvents)'についてはどうですか? –
私はそれについて何かを見ましたが、それを使う方法を知らない。 – juniorgarcia