更新されたコンストレイントは、既存の一致コンストレイントを見つけて解決を更新できません.


##問題の状況
私はsnapkitでチャットウィンドウTextField UIを作成しています.キーボードがポップアップされるとこのエラーが発生します.
https://github.com/SnapKit/SnapKit/issues/295
https://stackoverflow.com/questions/43462122/update-constraint-does-not-work-on-uitableview-snapkit
このような良い答えはたくさんありますが、私は適用しません.
そして偶然不思議な...
        inputTextFieldView.snp.makeConstraints {
            $0.width.equalTo(self.view.frame.width)
            $0.height.equalTo(60)
            $0.bottom.equalTo(self.view.safeAreaLayoutGuide.snp.bottom)
            $0.centerX.equalTo(self.view).offset(0)
        }
これはキーボードに触れていないときのコードです.
    @objc func keyboardWillShow(noti: Notification) {
        let notinfo = noti.userInfo!
        let keyboardFrame = notinfo[UIResponder.keyboardFrameEndUserInfoKey] as! CGRect
        let heiget = keyboardFrame.size.height - self.view.safeAreaInsets.bottom
        let animateDuration = notinfo[UIResponder.keyboardAnimationDurationUserInfoKey] as! TimeInterval
        UIView.animate(withDuration: animateDuration) {
            self.inputTextFieldView.snp.updateConstraints() {
                $0.bottom.equalTo(-heiget)
            }
            self.view.layoutIfNeeded()
        }
    }
キーボードが上昇したときに実行される関数.
そのSafeAreLayoutGuideを使用すると、Constraintsの更新中にエラーが発生します.
        inputTextFieldView.snp.makeConstraints {
            $0.width.equalTo(self.view.frame.width)
            $0.height.equalTo(60)
            $0.bottom.equalTo(0)
            $0.centerX.equalTo(self.view).offset(0)
        }
このようにすれば愛楽は起こらない.
safeAreaを使用する場合は、後でsafeArea用のビューを作成できます.
Snapkitを勉強するみたいRxはいつしますか.