2017-12-16 23 views
1

나는 UITextField이며 집중할 때마다 작업을 수행하려고합니다. RxSwift가 관리 할 수있는 것입니까 아니면 기존 방식으로해야합니까?RxSwift - 텍스트 필드에 포커스가 있는지 확인

+0

'textField.rx.controlEvent (UIControlEvents)'는 어떻습니까? –

+0

나는 그것에 대해 뭔가를 보았지만 그것을 사용하는 방법을 모른다. – juniorgarcia

답변

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가이 경우 이벤트를 트리거하지 않는 이유"에 대한 설명은 훌륭합니다.