rxswift 键盘通知
2021-08-19 本文已影响0人
adaodao3056
NotificationCenter
.default
.rx
.notification(UIResponder.keyboardWillShowNotification)
.subscribe {notification in
let frameEndUserInfoKey = UIResponder.keyboardFrameEndUserInfoKey
if let info = notification.element?.userInfo {
if let kbFrame = info[frameEndUserInfoKey] as? CGRect {
let distance = self.window!.height - self.y - self.height
if distance < kbFrame.height + 20 {
self.snp.remakeConstraints { make in
make.width.equalTo(311.uiX)
make.centerY.equalToSuperview().offset(self.window!.height - kbFrame.height - 20 - self.height/2)
}
}
}
}
}.disposed(by: rx.disposeBag)
NotificationCenter
.default
.rx
.notification(UIResponder.keyboardWillHideNotification)
.subscribe {notification in
self.snp.remakeConstraints { make in
make.width.equalTo(311.uiX)
make.centerY.equalToSuperview()
}
}.disposed(by: rx.disposeBag)