[iOS] RxSwift로 keyboardWillShowNotification 쉽게 사용하기

kimdocs...📄·2022년 7월 17일
0

iOS

목록 보기
6/22
post-thumbnail

RxSwift를 이용하면 Notificationcenter 또한 쉽게 이용할 수 있다.

1. keyboardWillShow 변수 지정
private let keyboardWillShow = NotificationCenter.default.rx.notification(UIResponder.keyboardWillShowNotification)

이로써 우리는 이제 keyboardWillShowNotification의 상태를 keyboardWillShow로 관찰 할 수 있게 되었다.

2. keyboardWillShow 구독하기
keyboardWillShow
    .compactMap { $0.userInfo }
    .map { userInfo -> CGFloat in
        return (userInfo[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue.height ?? 0
    }
    .subscribe(onNext: {[weak self] height in
        self?.writingView.photoCollectionView.snp.updateConstraints {
            $0.bottom.equalToSuperview().offset(-height-10)
        }
    })
    .disposed(by: disposeBag)

구독을 해준 뒤 뷰 업데이트 해주면 끝!
Rx ㅊㅔ고!

profile
👩‍🌾 GitHub: ezidayzi / 📂 Contact: ezidayzi@gmail.com

0개의 댓글