- RxSwift 사용해서 UITextView placeholder 구현
contentTextView.rx.didBeginEditing
.subscribe(onNext: { [weak self] in
guard let self = self else { return }
if self.contentTextView.textColor == .placeholderText {
self.contentTextView.text = nil
self.contentTextView.textColor = .label
}
})
.disposed(by: self.disposeBag)
contentTextView.rx.didEndEditing
.subscribe(onNext: { [weak self] in
guard let self = self else { return }
if self.contentTextView.text == nil || self.contentTextView.text == "" {
self.contentTextView.text = "내용을 입력해주세요"
self.contentTextView.textColor = .placeholderText
}
})
.disposed(by: self.disposeBag)
textField는 처음 터치했을때 placeholder가 남아있다가 한 글자 입력됐을 때 사라진다. 위에 방법으로 구현하면 textField의 placeholder 처럼 구현되지 않아서 아쉬웠다. 다음에 다시 한번 도전해야겠다.
- RxGesture 사용해서 reactorKit 사용시 view tap gesture을 action으로 전달
numberSelectView.rx.tapGesture()
.when(.recognized)
.asObservable()
.map { _ in Reactor.Action.selectNumber }
.bind(to: reactor.action)
.disposed(by: self.disposeBag)