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)

        }


    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容