Swift 监听键盘:计算键盘弹出和隐藏时距离底部间距

   //

        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(noti:)), name: UIResponder.keyboardWillShowNotification, object: nil)

        //

        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(noti:)), name: UIResponder.keyboardWillHideNotification, object: nil)

        //

        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChangeFrame(noti:)), name: UIResponder.keyboardWillChangeFrameNotification, object: nil)


    }

    //MARK: 键盘即将弹出

    @objc func  keyboardWillShow(noti:Notification){


    }

    //MARK: 键盘即将隐藏

    @objc func  keyboardWillHide(noti:Notification){


    }

    //MARK:计算键盘弹出和隐藏时距离底部间距

    @objc func  keyboardWillChangeFrame(noti:Notification){

        let endframe = (noti.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue

        lety = endframe.origin.y

        //计算工具栏距离底部距离

        letmargin =UIScreen.main.bounds.height- y

        //获取动画执行时间

        let duration = noti.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as! TimeInterval


        print("=======margin=\(margin)======duration=\(duration)")

        inputBackView.snp.remakeConstraints { makein

            make.top.equalTo( kSCREEN_HEIGHT - kChatInputViewHeight - margin)

            make.left.equalTo(self.view.snp.left)

            make.right.equalTo(self.view.snp.right)

            make.height.equalTo(kChatInputViewHeight)

        }


    }

你可能感兴趣的:(Swift 监听键盘:计算键盘弹出和隐藏时距离底部间距)