我有一个UITextField
,并希望每次重点关注时执行操作。这是RxSwift可以管理的东西吗?或者我必须以旧的方式这样做?
答案 0 :(得分:1)
经过几个小时的研究,我看到this issue on their GitHub page并通过它完成了工作。
原来我的代码是:
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在这种情况下不会触发事件”的解释会很棒。